[FIR2IR] Properly approximate intersection types during fir2ir conversion

^KT-62544 Fixed
This commit is contained in:
Dmitriy Novozhilov
2023-10-16 13:19:40 +03:00
committed by Space Team
parent 8c6da9fddb
commit 9366847e96
52 changed files with 450 additions and 803 deletions
@@ -50,8 +50,7 @@ FILE fqName:<root> fileName:/multipleSmartCasts.kt
then: CONST Boolean type=kotlin.Boolean value=false
then: BLOCK type=kotlin.Unit origin=null
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
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 declared in <root>.IC1' type=kotlin.Int origin=COMPONENT_N(index=1)
$this: TYPE_OP type=<root>.IC1 origin=IMPLICIT_CAST typeOperand=<root>.IC1
@@ -59,5 +58,4 @@ FILE fqName:<root> fileName:/multipleSmartCasts.kt
VAR name:x2 type:kotlin.String [val]
CALL 'public abstract fun component2 (): kotlin.String declared in <root>.IC2' type=kotlin.String origin=COMPONENT_N(index=2)
$this: TYPE_OP type=<root>.IC2 origin=IMPLICIT_CAST typeOperand=<root>.IC2
TYPE_OP type=<root>.IC1 origin=IMPLICIT_CAST typeOperand=<root>.IC1
GET_VAR 'val tmp_0: kotlin.Any declared in <root>.test' type=kotlin.Any origin=null
GET_VAR 'val tmp_0: kotlin.Any declared in <root>.test' type=kotlin.Any origin=null