Outer classes are properly computed
This commit is contained in:
committed by
Alexander Udalov
parent
b536b3961e
commit
b38c5b9d08
+9
@@ -30,6 +30,15 @@ public final class ClassId {
|
||||
return new ClassId(getPackageFqName(), relativeClassName.child(name));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ClassId getOuterClassId() {
|
||||
return new ClassId(getPackageFqName(), relativeClassName.parent());
|
||||
}
|
||||
|
||||
public boolean isTopLevelClass() {
|
||||
return relativeClassName.parent().isRoot();
|
||||
}
|
||||
|
||||
public FqNameUnsafe asSingleFqName() {
|
||||
if (packageFqName.isRoot()) return relativeClassName;
|
||||
return new FqNameUnsafe(packageFqName.asString() + "." + relativeClassName.asString());
|
||||
|
||||
+4
-1
@@ -324,7 +324,10 @@ public abstract class AbstractDescriptorSerializationTest extends KotlinTestWith
|
||||
@Nullable
|
||||
@Override
|
||||
protected ClassDescriptor doCompute(@NotNull ClassId classId) {
|
||||
return resolveClass(ClassResolverImpl.this.parentForClasses, classId);
|
||||
DeclarationDescriptor containingDeclaration =
|
||||
classId.isTopLevelClass() ? ClassResolverImpl.this.parentForClasses : findClass(classId.getOuterClassId());
|
||||
assert containingDeclaration != null : "Containing declaration not found: " + classId.getOuterClassId();
|
||||
return resolveClass(containingDeclaration, classId);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user