diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/PsiToIr.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/PsiToIr.kt index 6f07c2e4a1a..1f2e0d02a96 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/PsiToIr.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/PsiToIr.kt @@ -117,10 +117,12 @@ internal fun Context.psiToIr( val kotlinLibrary = dependency.getCapability(KlibModuleOrigin.CAPABILITY)?.let { (it as? DeserializedKlibModuleOrigin)?.library } - if (isProducingLibrary) - linker.deserializeOnlyHeaderModule(dependency, kotlinLibrary) - else - linker.deserializeIrModuleHeader(dependency, kotlinLibrary) + when { + isProducingLibrary -> linker.deserializeOnlyHeaderModule(dependency, kotlinLibrary) + kotlinLibrary != null && config.cachedLibraries.isLibraryCached(kotlinLibrary) -> + linker.deserializeHeadersWithInlineBodies(dependency, kotlinLibrary) + else -> linker.deserializeIrModuleHeader(dependency, kotlinLibrary) + } } if (dependencies.size == dependenciesCount) break dependenciesCount = dependencies.size diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/interop/cenum/CEnumByValueFunctionGenerator.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/interop/cenum/CEnumByValueFunctionGenerator.kt index eab5171e6c0..ea65b605557 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/interop/cenum/CEnumByValueFunctionGenerator.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/interop/cenum/CEnumByValueFunctionGenerator.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.ir.builders.* import org.jetbrains.kotlin.ir.declarations.IrClass import org.jetbrains.kotlin.ir.declarations.IrFunction import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns +import org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol import org.jetbrains.kotlin.ir.types.classOrNull import org.jetbrains.kotlin.ir.types.getClass @@ -87,7 +88,8 @@ internal class CEnumByValueFunctionGenerator( ) } } - +irCall(symbols.throwNullPointerException, irBuiltIns.nothingType) + +IrCallImpl.fromSymbolDescriptor(startOffset, endOffset, irBuiltIns.nothingType, + symbols.throwNullPointerException) }) } return byValueIrFunction