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
@@ -25,7 +25,6 @@ import org.jetbrains.kotlin.renderer.DescriptorRenderer
import org.jetbrains.kotlin.renderer.DescriptorRendererBuilder
import java.util.*
import org.jetbrains.kotlin.resolve.DescriptorUtils.isEnumEntry
import org.jetbrains.kotlin.resolve.DescriptorUtils.isSyntheticClassObject
import org.jetbrains.kotlin.types.error.MissingDependencyErrorClass
import org.jetbrains.kotlin.resolve.dataClassUtils.isComponentLike
import org.jetbrains.kotlin.types.isFlexible
@@ -147,8 +146,8 @@ private fun buildDecompiledText(packageFqName: FqName, descriptors: List<Declara
builder.append(" {\n")
var firstPassed = false
val subindent = indent + " "
val classObject = descriptor.getClassObjectDescriptor()
if (classObject != null && !descriptor.getKind().isSingleton() && !isSyntheticClassObject(classObject)) {
val classObject = descriptor.getDefaultObjectDescriptor()
if (classObject != null) {
firstPassed = true
builder.append(subindent)
appendDescriptor(classObject, subindent)
@@ -70,7 +70,7 @@ private class MissingDependencyErrorClassDescriptor(containing: DeclarationDescr
return this
}
override fun getClassObjectDescriptor(): ClassDescriptor? {
override fun getDefaultObjectDescriptor(): ClassDescriptor? {
//NOTE: only used in types and rendered fq name should be the same as of containing class
return MissingDependencyErrorClassDescriptor(this, fullFqName)
}