Fix NPE on .companionObjectInstance for built-in classes

#KT-13370 Fixed
This commit is contained in:
Alexander Udalov
2016-08-08 18:29:03 +03:00
parent 611899e9d3
commit 3efa738bc0
3 changed files with 23 additions and 1 deletions
@@ -16,6 +16,7 @@
package kotlin.reflect.jvm.internal
import org.jetbrains.kotlin.builtins.CompanionObjectMapping
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.Annotated
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
@@ -127,7 +128,7 @@ internal class KClassImpl<T : Any>(override val jClass: Class<T>) :
val descriptor = descriptor
if (descriptor.kind != ClassKind.OBJECT) return@lazy null
val field = if (descriptor.isCompanionObject) {
val field = if (descriptor.isCompanionObject && !CompanionObjectMapping.hasMappingToObject(descriptor)) {
jClass.enclosingClass.getDeclaredField(descriptor.name.asString())
}
else {