diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/transformations/InsertImplicitCasts.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/transformations/InsertImplicitCasts.kt index 7e16b7c6bac..fc41dbfb7aa 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/transformations/InsertImplicitCasts.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/transformations/InsertImplicitCasts.kt @@ -184,7 +184,7 @@ class InsertImplicitCasts(val builtIns: KotlinBuiltIns): IrElementTransformerVoi KotlinTypeChecker.DEFAULT.isSubtypeOf(valueType.makeNotNullable(), expectedType) -> this KotlinBuiltIns.isInt(valueType) && notNullableExpectedType.isBuiltInIntegerType() -> - IrTypeOperatorCallImpl(startOffset, endOffset, expectedType, + IrTypeOperatorCallImpl(startOffset, endOffset, notNullableExpectedType, IrTypeOperator.IMPLICIT_INTEGER_COERCION, notNullableExpectedType, this) else -> IrTypeOperatorCallImpl(startOffset, endOffset, expectedType, diff --git a/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt b/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt index 1c67af7d048..b6ec50e0b0f 100644 --- a/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt +++ b/compiler/testData/ir/irText/expressions/primitivesImplicitConversions.txt @@ -64,15 +64,15 @@ FILE /primitivesImplicitConversions.kt VAR val test4: kotlin.Long? = -1.toLong() CONST Long type=kotlin.Long value='-1' VAR val test5: kotlin.Long? = -1.toLong() - TYPE_OP type=kotlin.Long? origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Long + TYPE_OP type=kotlin.Long origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Long CALL 'unaryMinus(): Int' type=kotlin.Int origin=null $this: CONST Int type=kotlin.Int value='1' VAR val test6: kotlin.Short? = -1.toShort() - TYPE_OP type=kotlin.Short? origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Short + TYPE_OP type=kotlin.Short origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Short CALL 'unaryMinus(): Int' type=kotlin.Int origin=null $this: CONST Int type=kotlin.Int value='1' VAR val test7: kotlin.Byte? = -1.toByte() - TYPE_OP type=kotlin.Byte? origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Byte + TYPE_OP type=kotlin.Byte origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Byte CALL 'unaryMinus(): Int' type=kotlin.Int origin=null $this: CONST Int type=kotlin.Int value='1' FUN public fun testImplicitArguments(x: kotlin.Long = ...): kotlin.Unit