Handle lazy IR in llvmSymbolOrigin computation
Since interop libraries have no IR we produce lazy IR for them. Thus we need to handle it when computing `llvmSymbolOrigin`.
This commit is contained in:
committed by
Sergey Bogolepov
parent
32bea765f0
commit
d189ff416f
+5
-1
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.backend.konan.ir
|
||||
import org.jetbrains.kotlin.backend.konan.*
|
||||
import org.jetbrains.kotlin.backend.konan.llvm.llvmSymbolOrigin
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.lazy.IrLazyDeclarationBase
|
||||
import org.jetbrains.kotlin.ir.types.IrType
|
||||
import org.jetbrains.kotlin.ir.types.toKotlinType
|
||||
import org.jetbrains.kotlin.ir.util.file
|
||||
@@ -15,7 +16,10 @@ import org.jetbrains.kotlin.ir.util.file
|
||||
// This file contains some IR utilities which actually use descriptors.
|
||||
// TODO: port this code to IR.
|
||||
|
||||
internal val IrDeclaration.llvmSymbolOrigin get() = this.file.packageFragmentDescriptor.llvmSymbolOrigin
|
||||
internal val IrDeclaration.llvmSymbolOrigin get() = when (this) {
|
||||
is IrLazyDeclarationBase -> descriptor.llvmSymbolOrigin
|
||||
else -> file.packageFragmentDescriptor.llvmSymbolOrigin
|
||||
}
|
||||
|
||||
internal fun IrType.isObjCObjectType() = this.toKotlinType().isObjCObjectType()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user