Excluded class object names from FQ name and qualified name.

This commit is contained in:
Evgeny Gerashchenko
2012-12-28 11:37:02 +04:00
parent c041fc8fea
commit dda15f7505
8 changed files with 29 additions and 21 deletions
@@ -127,6 +127,12 @@ public class DescriptorUtils {
throw new IllegalStateException("descriptor is not module descriptor and has null containingDeclaration: " + containingDeclaration);
}
if (containingDeclaration instanceof ClassDescriptor && ((ClassDescriptor) containingDeclaration).getKind() == ClassKind.CLASS_OBJECT) {
DeclarationDescriptor classOfClassObject = containingDeclaration.getContainingDeclaration();
assert classOfClassObject != null;
return getFQName(classOfClassObject).child(descriptor.getName());
}
return getFQName(containingDeclaration).child(descriptor.getName());
}
@@ -176,7 +176,9 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
// for nested classes qualified name should be used
DeclarationDescriptor current = klass;
do {
qualifiedNameElements.add(current.getName());
if (((ClassDescriptor) current).getKind() != ClassKind.CLASS_OBJECT) {
qualifiedNameElements.add(current.getName());
}
current = current.getContainingDeclaration();
}
while (current instanceof ClassDescriptor);