From f6038aafcca222a7c25033419d9a54937f8f7fb1 Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Tue, 12 Jun 2018 16:03:59 +0200 Subject: [PATCH] Fix IMPLICIT_NOT_NULL coercion --- .../jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt index d83b9c62ead..95e455a6062 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt @@ -604,13 +604,14 @@ class ExpressionCodegen( } IrTypeOperator.IMPLICIT_NOTNULL -> { - gen(expression.argument, asmType, data) + val value = gen(expression.argument, data) mv.dup() mv.visitLdcInsn("TODO provide message for IMPLICIT_NOTNULL") /*TODO*/ mv.invokestatic( "kotlin/jvm/internal/Intrinsics", "checkExpressionValueIsNotNull", "(Ljava/lang/Object;Ljava/lang/String;)V", false ) + StackValue.onStack(value.type).put(asmType, mv) } IrTypeOperator.IMPLICIT_INTEGER_COERCION -> {