[K/N] Deal with external ObjC companion objects in cache builds.
^KT-55938 Fixed
This commit is contained in:
committed by
Pavel Kunyavskiy
parent
3dcf5af4b0
commit
e5417e8381
+6
-2
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.backend.konan.lower
|
||||
import org.jetbrains.kotlin.backend.konan.DECLARATION_ORIGIN_FUNCTION_CLASS
|
||||
import org.jetbrains.kotlin.backend.konan.NativeGenerationState
|
||||
import org.jetbrains.kotlin.backend.konan.KonanFqNames
|
||||
import org.jetbrains.kotlin.backend.konan.isExternalObjCClass
|
||||
import org.jetbrains.kotlin.backend.konan.serialization.KonanIrLinker
|
||||
import org.jetbrains.kotlin.backend.konan.serialization.KonanManglerIr
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
@@ -96,8 +97,11 @@ internal class CacheInfoBuilder(
|
||||
|
||||
override fun visitGetObjectValue(expression: IrGetObjectValue) {
|
||||
expression.acceptChildrenVoid(this)
|
||||
|
||||
processFunction(generationState.context.getObjectClassInstanceFunction(expression.symbol.owner))
|
||||
val singleton = expression.symbol.owner
|
||||
val isExternalObjCCompanion = singleton.isCompanion && (singleton.parent as IrClass).isExternalObjCClass()
|
||||
if (!isExternalObjCCompanion) {
|
||||
processFunction(generationState.context.getObjectClassInstanceFunction(singleton))
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitGetEnumValue(expression: IrGetEnumValue) {
|
||||
|
||||
Reference in New Issue
Block a user