From 3fe84bba6c1a94de652f6a78dfaa259316e38817 Mon Sep 17 00:00:00 2001 From: Michael Bogdanov Date: Sat, 1 Oct 2016 11:35:03 +0300 Subject: [PATCH] Initial IMPLICIT_NOT_NULL support --- .../kotlin/backend/jvm/codegen/ExpressionCodegen.kt | 8 ++++++++ 1 file changed, 8 insertions(+) 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 fbe13504d2a..d5517496af3 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 @@ -412,6 +412,14 @@ class ExpressionCodegen( generateIsCheck(mv, expression.typeOperand, type) } + IrTypeOperator.IMPLICIT_NOTNULL -> { + gen(expression.argument, OBJECT_TYPE, data) + mv.dup() + mv.visitLdcInsn("TODO provide message") /*TODO*/ + mv.invokestatic("kotlin/jvm/internal/Intrinsics", "checkExpressionValueIsNotNull", + "(Ljava/lang/Object;Ljava/lang/String;)V", false) + } + else -> super.visitTypeOperator(expression, data) } return expression.onStack