From e69fe6f7d13542f1830ce93beb73171a637645f3 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Tue, 25 Dec 2012 00:27:34 +0400 Subject: [PATCH] Extracted method rendering class name. --- .../jet/renderer/DescriptorRendererImpl.java | 46 ++++++++++--------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java b/compiler/frontend/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java index 7572ff4e5d0..0843bd1da7b 100644 --- a/compiler/frontend/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java +++ b/compiler/frontend/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java @@ -143,6 +143,24 @@ public class DescriptorRendererImpl implements DescriptorRenderer { return buf.toString(); } + @NotNull + private String renderClassName(@NotNull ClassDescriptor klass) { + if (shortNames) { + List qualifiedNameElements = Lists.newArrayList(); + + // for nested classes qualified name should be used + DeclarationDescriptor current = klass; + do { + qualifiedNameElements.add(current.getName()); + current = current.getContainingDeclaration(); + } + while (current instanceof ClassDescriptor); + + Collections.reverse(qualifiedNameElements); + return renderFqName(qualifiedNameElements); + } + return renderFqName(DescriptorUtils.getFQName(klass)); + } /* TYPES RENDERING */ @Override @@ -189,31 +207,15 @@ public class DescriptorRendererImpl implements DescriptorRenderer { private String renderTypeName(@NotNull TypeConstructor typeConstructor) { ClassifierDescriptor cd = typeConstructor.getDeclarationDescriptor(); - if (cd == null) { - return typeConstructor.toString(); - } - else if (cd instanceof TypeParameterDescriptor) { + if (cd instanceof TypeParameterDescriptor) { return renderName(cd.getName()); } + else if (cd instanceof ClassDescriptor) { + return renderClassName((ClassDescriptor) cd); + } else { - if (shortNames) { - List qualifiedNameElements = Lists.newArrayList(); - - // for nested classes qualified name should be used - DeclarationDescriptor current = cd; - do { - qualifiedNameElements.add(current.getName()); - current = current.getContainingDeclaration(); - } - while (current instanceof ClassDescriptor); - - Collections.reverse(qualifiedNameElements); - - return renderFqName(qualifiedNameElements); - } - else { - return renderFqName(DescriptorUtils.getFQName(cd)); - } + assert cd == null: "Unexpected classifier: " + cd.getClass(); + return typeConstructor.toString(); } }