Extracted method.
This commit is contained in:
@@ -23,10 +23,7 @@ import org.jetbrains.jet.lang.diagnostics.rendering.Renderer;
|
|||||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
|
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
|
||||||
import org.jetbrains.jet.lang.types.ErrorUtils;
|
import org.jetbrains.jet.lang.types.*;
|
||||||
import org.jetbrains.jet.lang.types.JetType;
|
|
||||||
import org.jetbrains.jet.lang.types.TypeProjection;
|
|
||||||
import org.jetbrains.jet.lang.types.Variance;
|
|
||||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||||
import org.jetbrains.jet.lexer.JetTokens;
|
import org.jetbrains.jet.lexer.JetTokens;
|
||||||
|
|
||||||
@@ -146,29 +143,8 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
|
|||||||
|
|
||||||
private String renderDefaultType(JetType type, boolean shortNamesOnly) {
|
private String renderDefaultType(JetType type, boolean shortNamesOnly) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
ClassifierDescriptor cd = type.getConstructor().getDeclarationDescriptor();
|
|
||||||
|
|
||||||
Object typeNameObject;
|
sb.append(renderTypeName(type.getConstructor(), shortNamesOnly));
|
||||||
|
|
||||||
if (cd == null || cd instanceof TypeParameterDescriptor) {
|
|
||||||
typeNameObject = type.getConstructor();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (shortNamesOnly) {
|
|
||||||
// for nested classes qualified name should be used
|
|
||||||
typeNameObject = cd.getName();
|
|
||||||
DeclarationDescriptor parent = cd.getContainingDeclaration();
|
|
||||||
while (parent instanceof ClassDescriptor) {
|
|
||||||
typeNameObject = parent.getName() + "." + typeNameObject;
|
|
||||||
parent = parent.getContainingDeclaration();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
typeNameObject = DescriptorUtils.getFQName(cd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sb.append(typeNameObject);
|
|
||||||
if (!type.getArguments().isEmpty()) {
|
if (!type.getArguments().isEmpty()) {
|
||||||
sb.append("<");
|
sb.append("<");
|
||||||
appendTypeProjections(sb, type.getArguments(), shortNamesOnly);
|
appendTypeProjections(sb, type.getArguments(), shortNamesOnly);
|
||||||
@@ -180,6 +156,29 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
|
|||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String renderTypeName(@NotNull TypeConstructor typeConstructor, boolean shortNamesOnly) {
|
||||||
|
ClassifierDescriptor cd = typeConstructor.getDeclarationDescriptor();
|
||||||
|
if (cd == null || cd instanceof TypeParameterDescriptor) {
|
||||||
|
return typeConstructor.toString();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (shortNamesOnly) {
|
||||||
|
Object typeNameObject;
|
||||||
|
// for nested classes qualified name should be used
|
||||||
|
typeNameObject = cd.getName();
|
||||||
|
DeclarationDescriptor parent = cd.getContainingDeclaration();
|
||||||
|
while (parent instanceof ClassDescriptor) {
|
||||||
|
typeNameObject = parent.getName() + "." + typeNameObject;
|
||||||
|
parent = parent.getContainingDeclaration();
|
||||||
|
}
|
||||||
|
return typeNameObject.toString();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return DescriptorUtils.getFQName(cd).getFqName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void appendTypes(StringBuilder result, List<JetType> types, boolean shortNamesOnly) {
|
private void appendTypes(StringBuilder result, List<JetType> types, boolean shortNamesOnly) {
|
||||||
for (Iterator<JetType> iterator = types.iterator(); iterator.hasNext(); ) {
|
for (Iterator<JetType> iterator = types.iterator(); iterator.hasNext(); ) {
|
||||||
result.append(renderType(iterator.next(), shortNamesOnly));
|
result.append(renderType(iterator.next(), shortNamesOnly));
|
||||||
|
|||||||
Reference in New Issue
Block a user