From 59fc5befadb632678025f60821fe4a718dbeba85 Mon Sep 17 00:00:00 2001 From: Michael Bogdanov Date: Wed, 5 Oct 2016 14:31:24 +0300 Subject: [PATCH] !is support --- .../kotlin/backend/jvm/codegen/ExpressionCodegen.kt | 5 ++++- 1 file changed, 4 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 fabe9297d2c..0b22f13f4e3 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 @@ -528,10 +528,13 @@ class ExpressionCodegen( return onStack(boxedType) } - IrTypeOperator.INSTANCEOF -> { + IrTypeOperator.INSTANCEOF, IrTypeOperator.NOT_INSTANCEOF -> { gen(expression.argument, OBJECT_TYPE, data) val type = boxType(asmType) generateIsCheck(mv, expression.typeOperand, type) + if (IrTypeOperator.NOT_INSTANCEOF == expression.operator) { + StackValue.not(StackValue.onStack(Type.BOOLEAN_TYPE)).put(Type.BOOLEAN_TYPE, mv) + } } IrTypeOperator.IMPLICIT_NOTNULL -> {