diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt index 5fd31c00793..15742d1d929 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt @@ -1636,6 +1636,14 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map return context.llvm.staticData.createImmutableBinaryBlob(arg) } + + context.ir.symbols.initInstance.descriptor -> { + val callee = expression as IrCall + val initializer = callee.getValueArgument(1) as IrCall + val thiz = evaluateExpression(callee.getValueArgument(0)!!) + evaluateSimpleFunctionCall(initializer.descriptor, listOf(thiz) + evaluateExplicitArgs(initializer), lifetimes[initializer]!!) + return codegen.theUnitInstanceRef.llvm + } } } @@ -2063,13 +2071,6 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map { - val initializer = callee.getValueArgument(1) as IrCall - val thiz = evaluateExpression(callee.getValueArgument(0)!!) - evaluateSimpleFunctionCall(initializer.descriptor, listOf(thiz) + evaluateExplicitArgs(initializer), lifetimes[initializer]!!) - codegen.theUnitInstanceRef.llvm - } - else -> TODO(callee.descriptor.original.toString()) } }