Class resolution simplified (effectively dead code eliminated)
This commit is contained in:
committed by
Alexander Udalov
parent
930217c877
commit
bb27d5c283
+1
-19
@@ -54,25 +54,7 @@ public class NameResolver {
|
|||||||
ProtoBuf.QualifiedNameTable.QualifiedName fqNameProto = qualifiedNames.getQualifiedNames(fqNameIndex);
|
ProtoBuf.QualifiedNameTable.QualifiedName fqNameProto = qualifiedNames.getQualifiedNames(fqNameIndex);
|
||||||
assert fqNameProto.getKind() == ProtoBuf.QualifiedNameTable.QualifiedName.Kind.CLASS : "Not a class fqName: " + getFqName(fqNameIndex);
|
assert fqNameProto.getKind() == ProtoBuf.QualifiedNameTable.QualifiedName.Kind.CLASS : "Not a class fqName: " + getFqName(fqNameIndex);
|
||||||
|
|
||||||
if (fqNameProto.hasParentQualifiedName()) {
|
return classResolver.findClass(getFqName(fqNameIndex));
|
||||||
int parentFqNameIndex = fqNameProto.getParentQualifiedName();
|
|
||||||
ProtoBuf.QualifiedNameTable.QualifiedName parentFqNameProto = qualifiedNames.getQualifiedNames(parentFqNameIndex);
|
|
||||||
switch (fqNameProto.getKind()) {
|
|
||||||
case CLASS:
|
|
||||||
return classResolver.findClass(getFqName(fqNameIndex));
|
|
||||||
case PACKAGE:
|
|
||||||
Name name = getName(fqNameProto.getShortName());
|
|
||||||
ClassDescriptor outerClass = getClassDescriptor(parentFqNameIndex);
|
|
||||||
if (outerClass == null) return null;
|
|
||||||
|
|
||||||
return (ClassDescriptor) outerClass.getUnsubstitutedInnerClassesScope().getClassifier(name);
|
|
||||||
}
|
|
||||||
throw new IllegalStateException("Unknown kind: " + fqNameProto);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
FqName fqName = FqName.topLevel(getName(fqNameProto.getShortName()));
|
|
||||||
return classResolver.findClass(fqName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
Reference in New Issue
Block a user