Introduce ClassDescriptor#getDefaultObjectDescriptor()

ClassDescriptor#getClassObjectDescriptor (with old semantics) is now a utility
Process usages and replace with calls to a new method where appropriate
This commit is contained in:
Pavel V. Talanov
2015-01-30 15:33:09 +03:00
parent 945072a129
commit f482768acf
26 changed files with 68 additions and 88 deletions
@@ -130,8 +130,8 @@ public class DescriptorSerializer {
}
}
ClassDescriptor classObject = classDescriptor.getClassObjectDescriptor();
if (classObject != null && isClassObject(classObject)) {
ClassDescriptor classObject = classDescriptor.getDefaultObjectDescriptor();
if (classObject != null) {
builder.setClassObjectName(stringTable.getSimpleNameIndex(classObject.getName()));
}
@@ -110,16 +110,13 @@ public class DeserializedClassDescriptor(
}
private fun computeClassObjectDescriptor(): ClassDescriptor? {
if (getKind() == ClassKind.OBJECT || getKind() == ClassKind.CLASS_OBJECT) {
return this
}
if (!classProto.hasClassObjectName()) return null
val classObjectName = c.nameResolver.getName(classProto.getClassObjectName())
return memberScope.getClassifier(classObjectName) as? ClassDescriptor
}
override fun getClassObjectDescriptor(): ClassDescriptor? = classObjectDescriptor()
override fun getDefaultObjectDescriptor(): ClassDescriptor? = classObjectDescriptor()
private fun computeSuperTypes(): Collection<JetType> {
val supertypes = ArrayList<JetType>(classProto.getSupertypeCount())