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 4ef752c3c0e..1de25920907 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 @@ -545,6 +545,7 @@ class ExpressionCodegen( coerce(expression.argument.asmType, Type.VOID_TYPE, mv) return none() } + IrTypeOperator.IMPLICIT_CAST -> { gen(expression.argument, asmType, data) } @@ -577,7 +578,10 @@ class ExpressionCodegen( "(Ljava/lang/Object;Ljava/lang/String;)V", false) } - else -> super.visitTypeOperator(expression, data) + IrTypeOperator.IMPLICIT_INTEGER_COERCION -> { + gen(expression.argument, Type.INT_TYPE, data) + StackValue.coerce(Type.INT_TYPE, typeMapper.mapType(expression.type), mv) + } } return expression.onStack }