// IGNORE_INLINER: IR // FILE: test.kt class Foo { var bar = "" inline fun inlineCall(action: (complete: () -> Unit) -> Unit) { action { bar += "K" } } fun start() { inlineCall { bar += "O" it() } } } fun box() { val foo = Foo() foo.start() } // EXPECTATIONS JVM_IR +USE_INLINE_SCOPES_NUMBERS // test.kt:21 box: // test.kt:3 : // test.kt:4 : // EXPECTATIONS JVM_IR +USE_INLINE_SCOPES_NUMBERS // test.kt:3 : // EXPECTATIONS JVM_IR +USE_INLINE_SCOPES_NUMBERS // test.kt:21 box: // test.kt:22 box: foo:Foo=Foo // test.kt:13 start: // test.kt:7 start: this_\1:Foo=Foo, $i$f$inlineCall\1\13:int=0:int // test.kt:14 start: this_\1:Foo=Foo, $i$f$inlineCall\1\13:int=0:int, it\2:kotlin.jvm.functions.Function0=Foo$inlineCall$1, $i$a$-inlineCall-Foo$start$1\2\84\0:int=0:int // test.kt:15 start: this_\1:Foo=Foo, $i$f$inlineCall\1\13:int=0:int, it\2:kotlin.jvm.functions.Function0=Foo$inlineCall$1, $i$a$-inlineCall-Foo$start$1\2\84\0:int=0:int // test.kt:8 invoke: // test.kt:4 getBar: // test.kt:8 invoke: // test.kt:4 setBar: :java.lang.String="OK":java.lang.String // test.kt:9 invoke: // test.kt:15 start: this_\1:Foo=Foo, $i$f$inlineCall\1\13:int=0:int, it\2:kotlin.jvm.functions.Function0=Foo$inlineCall$1, $i$a$-inlineCall-Foo$start$1\2\84\0:int=0:int // test.kt:16 start: this_\1:Foo=Foo, $i$f$inlineCall\1\13:int=0:int, it\2:kotlin.jvm.functions.Function0=Foo$inlineCall$1, $i$a$-inlineCall-Foo$start$1\2\84\0:int=0:int // test.kt:7 start: this_\1:Foo=Foo, $i$f$inlineCall\1\13:int=0:int // test.kt:10 start: this_\1:Foo=Foo, $i$f$inlineCall\1\13:int=0:int // test.kt:17 start: // test.kt:23 box: foo:Foo=Foo // EXPECTATIONS JVM_IR // test.kt:21 box: // test.kt:3 : // test.kt:4 : // test.kt:3 : // test.kt:21 box: // test.kt:22 box: foo:Foo=Foo // test.kt:13 start: // test.kt:7 start: this_$iv:Foo=Foo, $i$f$inlineCall:int=0:int // test.kt:14 start: this_$iv:Foo=Foo, $i$f$inlineCall:int=0:int, it:kotlin.jvm.functions.Function0=Foo$inlineCall$1, $i$a$-inlineCall-Foo$start$1:int=0:int // test.kt:15 start: this_$iv:Foo=Foo, $i$f$inlineCall:int=0:int, it:kotlin.jvm.functions.Function0=Foo$inlineCall$1, $i$a$-inlineCall-Foo$start$1:int=0:int // test.kt:8 invoke: // test.kt:4 getBar: // test.kt:8 invoke: // test.kt:4 setBar: :java.lang.String="OK":java.lang.String // test.kt:9 invoke: // test.kt:15 start: this_$iv:Foo=Foo, $i$f$inlineCall:int=0:int, it:kotlin.jvm.functions.Function0=Foo$inlineCall$1, $i$a$-inlineCall-Foo$start$1:int=0:int // test.kt:16 start: this_$iv:Foo=Foo, $i$f$inlineCall:int=0:int, it:kotlin.jvm.functions.Function0=Foo$inlineCall$1, $i$a$-inlineCall-Foo$start$1:int=0:int // test.kt:7 start: this_$iv:Foo=Foo, $i$f$inlineCall:int=0:int // test.kt:10 start: this_$iv:Foo=Foo, $i$f$inlineCall:int=0:int // test.kt:17 start: // test.kt:23 box: foo:Foo=Foo // EXPECTATIONS JS_IR // test.kt:21 box: // test.kt:4 : // test.kt:3 : // test.kt:22 box: foo=Foo // test.kt:14 start: // test.kt:8 start: // test.kt:17 start: // test.kt:23 box: foo=Foo