6fc0de39c2
This gives us more precise type information and can enable backend optimizations. This was motivated by when expressions not compiled to table switches in the JVM_IR backend. Fixed KT-36845.
19 lines
1.4 KiB
Plaintext
Vendored
19 lines
1.4 KiB
Plaintext
Vendored
FILE fqName:<root> fileName:/nullableAnyAsIntToDouble.kt
|
|
FUN name:test visibility:public modality:FINAL <> (x:kotlin.Any?, y:kotlin.Double) returnType:kotlin.Boolean
|
|
VALUE_PARAMETER name:x index:0 type:kotlin.Any?
|
|
VALUE_PARAMETER name:y index:1 type:kotlin.Double
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun test (x: kotlin.Any?, y: kotlin.Double): kotlin.Boolean declared in <root>'
|
|
WHEN type=kotlin.Boolean origin=ANDAND
|
|
BRANCH
|
|
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int
|
|
GET_VAR 'x: kotlin.Any? declared in <root>.test' type=kotlin.Any? origin=null
|
|
then: CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
|
|
arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Int' type=kotlin.Double origin=null
|
|
$this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int
|
|
GET_VAR 'x: kotlin.Any? declared in <root>.test' type=kotlin.Any? origin=null
|
|
arg1: GET_VAR 'y: kotlin.Double declared in <root>.test' type=kotlin.Double origin=null
|
|
BRANCH
|
|
if: CONST Boolean type=kotlin.Boolean value=true
|
|
then: CONST Boolean type=kotlin.Boolean value=false
|