Do not render type arguments as outermost

This commit is contained in:
Andrey Breslav
2014-09-19 17:41:37 +04:00
parent fd3f929a11
commit aea978cf90
2 changed files with 24 additions and 14 deletions
@@ -64,7 +64,6 @@ import org.jetbrains.jet.plugin.codeInsight.ShortenReferences;
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache;
import org.jetbrains.jet.plugin.project.ResolveSessionForBodies;
import org.jetbrains.jet.plugin.util.IdeDescriptorRenderers;
import org.jetbrains.jet.plugin.util.UtilPackage;
import org.jetbrains.jet.renderer.DescriptorRenderer;
import java.util.List;
@@ -358,7 +357,7 @@ public class KotlinInlineValHandler extends InlineActionHandler {
return StringUtil.join(typeArguments, new Function<JetType, String>() {
@Override
public String fun(JetType type) {
return IdeDescriptorRenderers.SOURCE_CODE.renderType(type);
return IdeDescriptorRenderers.SOURCE_CODE_FOR_TYPE_ARGUMENTS.renderType(type);
}
}, ", ");
}
@@ -30,23 +30,34 @@ public class IdeDescriptorRenderers {
}
};
public static final DescriptorRenderer SOURCE_CODE = new DescriptorRendererBuilder()
.setNormalizedVisibilities(true)
.setWithDefinedIn(false)
public static final Function1<JetType, JetType> APPROXIMATE_FLEXIBLE_TYPES_IN_ARGUMENTS = new Function1<JetType, JetType>() {
@Override
public JetType invoke(JetType type) {
return UtilPackage.approximateFlexibleTypes(type, false);
}
};
public static final DescriptorRenderer SOURCE_CODE = commonBuilder()
.setShortNames(false)
.setShowInternalKeyword(false)
.setOverrideRenderingPolicy(DescriptorRenderer.OverrideRenderingPolicy.RENDER_OVERRIDE)
.setUnitReturnType(false)
.setTypeNormalizer(APPROXIMATE_FLEXIBLE_TYPES)
.build();
public static final DescriptorRenderer SOURCE_CODE_SHORT_NAMES_IN_TYPES = new DescriptorRendererBuilder()
.setNormalizedVisibilities(true)
.setWithDefinedIn(false)
public static final DescriptorRenderer SOURCE_CODE_FOR_TYPE_ARGUMENTS = commonBuilder()
.setShortNames(false)
.setTypeNormalizer(APPROXIMATE_FLEXIBLE_TYPES_IN_ARGUMENTS)
.build();
public static final DescriptorRenderer SOURCE_CODE_SHORT_NAMES_IN_TYPES = commonBuilder()
.setShortNames(true)
.setShowInternalKeyword(false)
.setOverrideRenderingPolicy(DescriptorRenderer.OverrideRenderingPolicy.RENDER_OVERRIDE)
.setUnitReturnType(false)
.setTypeNormalizer(APPROXIMATE_FLEXIBLE_TYPES)
.build();
private static DescriptorRendererBuilder commonBuilder() {
return new DescriptorRendererBuilder()
.setNormalizedVisibilities(true)
.setWithDefinedIn(false)
.setShowInternalKeyword(false)
.setOverrideRenderingPolicy(DescriptorRenderer.OverrideRenderingPolicy.RENDER_OVERRIDE)
.setUnitReturnType(false);
}
}