[FIR] Use type without smartcast for local variable with smartcasted initializer

This commit is contained in:
Dmitriy Novozhilov
2021-02-15 12:26:13 +03:00
parent 40e286b354
commit d4c26cca52
24 changed files with 253 additions and 159 deletions
@@ -49,13 +49,15 @@ FILE fqName:<root> fileName:/multipleSmartCasts.kt
if: CONST Boolean type=kotlin.Boolean value=true
then: CONST Boolean type=kotlin.Boolean value=false
then: BLOCK type=kotlin.Unit origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:<root>.IC1 [val]
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.Any [val]
TYPE_OP type=<root>.IC1 origin=IMPLICIT_CAST typeOperand=<root>.IC1
GET_VAR 'x: kotlin.Any declared in <root>.test' type=kotlin.Any origin=null
VAR name:x1 type:kotlin.Int [val]
CALL 'public abstract fun component1 (): kotlin.Int [operator] declared in <root>.IC1' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_0: <root>.IC1 [val] declared in <root>.test' type=<root>.IC1 origin=null
$this: TYPE_OP type=<root>.IC1 origin=IMPLICIT_CAST typeOperand=<root>.IC1
GET_VAR 'val tmp_0: kotlin.Any [val] declared in <root>.test' type=kotlin.Any origin=null
VAR name:x2 type:kotlin.String [val]
CALL 'public abstract fun component2 (): kotlin.String [operator] declared in <root>.IC2' type=kotlin.String origin=null
$this: TYPE_OP type=<root>.IC2 origin=IMPLICIT_CAST typeOperand=<root>.IC2
GET_VAR 'val tmp_0: <root>.IC1 [val] declared in <root>.test' type=<root>.IC1 origin=null
TYPE_OP type=<root>.IC1 origin=IMPLICIT_CAST typeOperand=<root>.IC1
GET_VAR 'val tmp_0: kotlin.Any [val] declared in <root>.test' type=kotlin.Any origin=null