c0b6a593e0
Previously, it was obtained from expected type of a variable being assigned,
but it's better to use the type of resulting expression
Initially this part was brought in 4ab0897d7d,
but as we see in commit message and tests it was all about unit-coercion
54 lines
4.9 KiB
Plaintext
Vendored
54 lines
4.9 KiB
Plaintext
Vendored
FILE fqName:<root> fileName:/coercionToUnit.kt
|
|
PROPERTY name:test1 visibility:public modality:FINAL [val]
|
|
FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0<kotlin.Unit> visibility:private [final,static]
|
|
EXPRESSION_BODY
|
|
FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=LAMBDA
|
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Unit
|
|
BLOCK_BODY
|
|
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
|
CONST Int type=kotlin.Int value=42
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test1> visibility:public modality:FINAL <> () returnType:kotlin.Function0<kotlin.Unit>
|
|
correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val]
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun <get-test1> (): kotlin.Function0<kotlin.Unit> declared in <root>'
|
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0<kotlin.Unit> visibility:private [final,static]' type=kotlin.Function0<kotlin.Unit> origin=null
|
|
FUN name:test2 visibility:public modality:FINAL <> (mc:kotlin.collections.MutableCollection<kotlin.String>) returnType:kotlin.Unit
|
|
VALUE_PARAMETER name:mc index:0 type:kotlin.collections.MutableCollection<kotlin.String>
|
|
BLOCK_BODY
|
|
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
|
CALL 'public abstract fun add (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection' type=kotlin.Boolean origin=null
|
|
$this: GET_VAR 'mc: kotlin.collections.MutableCollection<kotlin.String> declared in <root>.test2' type=kotlin.collections.MutableCollection<kotlin.String> origin=null
|
|
element: CONST String type=kotlin.String value=""
|
|
FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
|
BLOCK_BODY
|
|
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
|
BLOCK type=kotlin.Unit? origin=SAFE_CALL
|
|
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:@[FlexibleNullability] java.io.PrintStream? [val]
|
|
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:@[FlexibleNullability] java.io.PrintStream? visibility:public [final,static]' type=@[FlexibleNullability] java.io.PrintStream? origin=GET_PROPERTY
|
|
WHEN type=kotlin.Unit? origin=null
|
|
BRANCH
|
|
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
|
arg0: GET_VAR 'val tmp_0: @[FlexibleNullability] java.io.PrintStream? [val] declared in <root>.test3' type=@[FlexibleNullability] 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 'public open fun println (p0: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null
|
|
$this: GET_VAR 'val tmp_0: @[FlexibleNullability] java.io.PrintStream? [val] declared in <root>.test3' type=@[FlexibleNullability] java.io.PrintStream? origin=null
|
|
p0: CONST String type=kotlin.String value="Hello,"
|
|
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
|
BLOCK type=kotlin.Unit? origin=SAFE_CALL
|
|
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:@[FlexibleNullability] java.io.PrintStream? [val]
|
|
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:@[FlexibleNullability] java.io.PrintStream? visibility:public [final,static]' type=@[FlexibleNullability] java.io.PrintStream? origin=GET_PROPERTY
|
|
WHEN type=kotlin.Unit? origin=null
|
|
BRANCH
|
|
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
|
arg0: GET_VAR 'val tmp_1: @[FlexibleNullability] java.io.PrintStream? [val] declared in <root>.test3' type=@[FlexibleNullability] 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 'public open fun println (p0: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null
|
|
$this: GET_VAR 'val tmp_1: @[FlexibleNullability] java.io.PrintStream? [val] declared in <root>.test3' type=@[FlexibleNullability] java.io.PrintStream? origin=null
|
|
p0: CONST String type=kotlin.String value="world!"
|