FILE fqName: fileName:/kt47527.kt FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY VAR name:result type:kotlin.String [var] CONST String type=kotlin.String value="" SET_VAR 'var result: kotlin.String declared in .box' type=kotlin.Unit origin=PLUSEQ CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ $this: GET_VAR 'var result: kotlin.String declared in .box' type=kotlin.String origin=PLUSEQ other: BLOCK type=kotlin.String origin=ELVIS VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.String? [val] CALL 'public final fun test_1 (value: kotlin.Any?): kotlin.String? declared in ' type=kotlin.String? origin=null value: CONST Int type=kotlin.Int value=1 WHEN type=kotlin.String 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: kotlin.String? declared in .box' type=kotlin.String? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="fail 1" BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: GET_VAR 'val tmp_0: kotlin.String? declared in .box' type=kotlin.String? origin=null SET_VAR 'var result: kotlin.String declared in .box' type=kotlin.Unit origin=PLUSEQ CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ $this: GET_VAR 'var result: kotlin.String declared in .box' type=kotlin.String origin=PLUSEQ other: BLOCK type=kotlin.String origin=ELVIS VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.String? [val] CALL 'public final fun test_2 (value: kotlin.Any?): kotlin.String? declared in ' type=kotlin.String? origin=null value: CONST Int type=kotlin.Int value=1 WHEN type=kotlin.String 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: kotlin.String? declared in .box' type=kotlin.String? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="fail 2" BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: GET_VAR 'val tmp_1: kotlin.String? declared in .box' type=kotlin.String? origin=null RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' GET_VAR 'var result: kotlin.String declared in .box' type=kotlin.String origin=null FUN name:test_1 visibility:public modality:FINAL <> (value:kotlin.Any?) returnType:kotlin.String? VALUE_PARAMETER name:value index:0 type:kotlin.Any? BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test_1 (value: kotlin.Any?): kotlin.String? declared in ' BLOCK type=kotlin.Nothing? origin=SAFE_CALL VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.Any? [val] GET_VAR 'value: kotlin.Any? declared in .test_1' type=kotlin.Any? origin=null WHEN type=kotlin.Nothing? 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_2: kotlin.Any? declared in .test_1' type=kotlin.Any? 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 final fun let (block: kotlin.Function1): R of kotlin.let declared in kotlin' type=kotlin.Nothing origin=null : kotlin.Any : kotlin.Nothing $receiver: GET_VAR 'val tmp_2: kotlin.Any? declared in .test_1' type=kotlin.Any? origin=null block: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Any) returnType:kotlin.Nothing VALUE_PARAMETER name:it index:0 type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test_1 (value: kotlin.Any?): kotlin.String? declared in ' CONST String type=kotlin.String value="O" FUN name:test_2 visibility:public modality:FINAL <> (value:kotlin.Any?) returnType:kotlin.String? VALUE_PARAMETER name:value index:0 type:kotlin.Any? BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test_2 (value: kotlin.Any?): kotlin.String? declared in ' CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run declared in kotlin' type=kotlin.Nothing? origin=null : kotlin.Nothing? block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing? BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Nothing? declared in .test_2' BLOCK type=kotlin.Nothing? origin=SAFE_CALL VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.Any? [val] GET_VAR 'value: kotlin.Any? declared in .test_2' type=kotlin.Any? origin=null WHEN type=kotlin.Nothing? 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_3: kotlin.Any? declared in .test_2.' type=kotlin.Any? 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 final fun let (block: kotlin.Function1): R of kotlin.let declared in kotlin' type=kotlin.Nothing origin=null : kotlin.Any : kotlin.Nothing $receiver: GET_VAR 'val tmp_3: kotlin.Any? declared in .test_2.' type=kotlin.Any? origin=null block: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Any) returnType:kotlin.Nothing VALUE_PARAMETER name:it index:0 type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test_2 (value: kotlin.Any?): kotlin.String? declared in ' CONST String type=kotlin.String value="K"