ir.tree: fix .originalKotlinType for transformed IR types

This commit is contained in:
Svyatoslav Scherbina
2018-07-02 18:48:09 +03:00
parent 4fd6dcd063
commit 226f16b44e
19 changed files with 184 additions and 164 deletions
+32 -28
View File
@@ -25,32 +25,36 @@ FILE fqName:<root> fileName:/coercionToUnit.kt
element: CONST String type=kotlin.String value=
FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:
BLOCK_BODY
BLOCK type=kotlin.Unit origin=SAFE_CALL
VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:java.io.PrintStream? flags:val
GET_FIELD 'out: PrintStream!' type=java.io.PrintStream? origin=GET_PROPERTY
WHEN type=kotlin.Unit origin=null
BRANCH
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'tmp0_safe_receiver: PrintStream?' type=java.io.PrintStream? origin=null
arg1: CONST Null type=kotlin.Nothing value=null
then: CONST Null type=kotlin.Nothing value=null
BRANCH
if: CONST Boolean type=kotlin.Boolean value=true
then: CALL 'println(String!): Unit' type=kotlin.Unit origin=null
$this: GET_VAR 'tmp0_safe_receiver: PrintStream?' type=java.io.PrintStream? origin=null
x: CONST String type=kotlin.String value=Hello,
BLOCK type=kotlin.Unit origin=SAFE_CALL
VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:java.io.PrintStream? flags:val
GET_FIELD 'out: PrintStream!' type=java.io.PrintStream? origin=GET_PROPERTY
WHEN type=kotlin.Unit origin=null
BRANCH
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'tmp1_safe_receiver: PrintStream?' type=java.io.PrintStream? origin=null
arg1: CONST Null type=kotlin.Nothing value=null
then: CONST Null type=kotlin.Nothing value=null
BRANCH
if: CONST Boolean type=kotlin.Boolean value=true
then: CALL 'println(String!): Unit' type=kotlin.Unit origin=null
$this: GET_VAR 'tmp1_safe_receiver: PrintStream?' type=java.io.PrintStream? origin=null
x: CONST String type=kotlin.String value=world!
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
BLOCK type=kotlin.Unit? origin=SAFE_CALL
VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:java.io.PrintStream? flags:val
GET_FIELD 'out: PrintStream!' type=java.io.PrintStream? origin=GET_PROPERTY
WHEN type=kotlin.Unit? origin=null
BRANCH
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'tmp0_safe_receiver: PrintStream?' type=java.io.PrintStream? origin=null
arg1: CONST Null type=kotlin.Nothing? value=null
then: CONST Null type=kotlin.Nothing? value=null
BRANCH
if: CONST Boolean type=kotlin.Boolean value=true
then: CALL 'println(String!): Unit' type=kotlin.Unit origin=null
$this: GET_VAR 'tmp0_safe_receiver: PrintStream?' type=java.io.PrintStream? origin=null
x: CONST String type=kotlin.String value=Hello,
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
BLOCK type=kotlin.Unit? origin=SAFE_CALL
VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:java.io.PrintStream? flags:val
GET_FIELD 'out: PrintStream!' type=java.io.PrintStream? origin=GET_PROPERTY
WHEN type=kotlin.Unit? origin=null
BRANCH
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'tmp1_safe_receiver: PrintStream?' type=java.io.PrintStream? origin=null
arg1: CONST Null type=kotlin.Nothing? value=null
then: CONST Null type=kotlin.Nothing? value=null
BRANCH
if: CONST Boolean type=kotlin.Boolean value=true
then: CALL 'println(String!): Unit' type=kotlin.Unit origin=null
$this: GET_VAR 'tmp1_safe_receiver: PrintStream?' type=java.io.PrintStream? origin=null
x: CONST String type=kotlin.String value=world!