blob: 4fd163b9ee921647eac1258f1f8a3e84c0312348 [file]
FILE fqName:<root> fileName:/inlineableFunction2.kt
FUN name:box visibility:public modality:FINAL returnType:kotlin.String
BLOCK_BODY
VAR name:res1 type:kotlin.Int [val]
CALL 'public final fun test (): kotlin.Int declared in <root>' type=kotlin.Int origin=null
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
ARG <this>: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
ARG arg0: GET_VAR 'val res1: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
ARG arg1: CONST Int type=kotlin.Int value=3
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="Fail: "
GET_VAR 'val res1: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
CONST String type=kotlin.String value="OK"
FUN name:runInlineable visibility:public modality:FINAL returnType:kotlin.Unit
VALUE_PARAMETER kind:Regular name:block index:0 type:@[MyInlineable] kotlin.Function0<kotlin.Unit>
BLOCK_BODY
CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=kotlin.Unit origin=null
ARG <this>: GET_VAR 'block: @[MyInlineable] kotlin.Function0<kotlin.Unit> declared in <root>.runInlineable' type=@[MyInlineable] kotlin.Function0<kotlin.Unit> origin=null
FUN name:test visibility:public modality:FINAL returnType:kotlin.Int
BLOCK_BODY
VAR name:x type:kotlin.Int [var]
CONST Int type=kotlin.Int value=0
VAR name:l type:@[MyInlineable] kotlin.Function0<kotlin.Unit> [val]
FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
annotations:
MyInlineable
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=POSTFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.Int [val]
GET_VAR 'var x: kotlin.Int declared in <root>.test' type=kotlin.Int origin=POSTFIX_INCR
SET_VAR 'var x: kotlin.Int declared in <root>.test' type=kotlin.Unit origin=POSTFIX_INCR
CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
ARG <this>: GET_VAR 'val tmp_0: kotlin.Int declared in <root>.test.<anonymous>' type=kotlin.Int origin=null
GET_VAR 'val tmp_0: kotlin.Int declared in <root>.test.<anonymous>' type=kotlin.Int origin=null
VAR name:l2 type:kotlin.Function0<kotlin.Unit> [val]
FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
annotations:
MyInlineable
BLOCK_BODY
CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit declared in kotlin.io' type=kotlin.Unit origin=null
ARG message: GET_VAR 'var x: kotlin.Int declared in <root>.test' type=kotlin.Int origin=null
CALL 'public final fun runInlineable (block: @[MyInlineable] kotlin.Function0<kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
ARG block: GET_VAR 'val l: @[MyInlineable] kotlin.Function0<kotlin.Unit> declared in <root>.test' type=@[MyInlineable] kotlin.Function0<kotlin.Unit> origin=null
CALL 'public final fun runInlineable (block: @[MyInlineable] kotlin.Function0<kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
ARG block: FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
annotations:
MyInlineable
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=POSTFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Int [val]
GET_VAR 'var x: kotlin.Int declared in <root>.test' type=kotlin.Int origin=POSTFIX_INCR
SET_VAR 'var x: kotlin.Int declared in <root>.test' type=kotlin.Unit origin=POSTFIX_INCR
CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
ARG <this>: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.test.<anonymous>' type=kotlin.Int origin=null
GET_VAR 'val tmp_1: kotlin.Int declared in <root>.test.<anonymous>' type=kotlin.Int origin=null
CALL 'public final fun runInlineable (block: @[MyInlineable] kotlin.Function0<kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
ARG block: FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
annotations:
MyInlineable
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
BLOCK type=kotlin.Int origin=POSTFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.Int [val]
GET_VAR 'var x: kotlin.Int declared in <root>.test' type=kotlin.Int origin=POSTFIX_INCR
SET_VAR 'var x: kotlin.Int declared in <root>.test' type=kotlin.Unit origin=POSTFIX_INCR
CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
ARG <this>: GET_VAR 'val tmp_2: kotlin.Int declared in <root>.test.<anonymous>' type=kotlin.Int origin=null
GET_VAR 'val tmp_2: kotlin.Int declared in <root>.test.<anonymous>' type=kotlin.Int origin=null
RETURN type=kotlin.Nothing from='public final fun test (): kotlin.Int declared in <root>'
GET_VAR 'var x: kotlin.Int declared in <root>.test' type=kotlin.Int origin=null