// See KT-64727 // WITH_STDLIB // FILE: test.kt inline fun foo(crossinline function: () -> T) { object { fun bar() { function() } init { bar() } } } fun box() { var result = "Fail" foo { object { init { result = "OK" } // Should be hit } } } // EXPECTATIONS JVM_IR // test.kt:21 box // test.kt:22 box // test.kt:9 box // test.kt:9 // test.kt:14 // test.kt:15 // test.kt:11 bar // test.kt:23 bar // test.kt:23 // test.kt:24 // test.kt:25 // test.kt:26 // test.kt:23 // test.kt:27 bar // test.kt:11 bar // test.kt:12 bar // test.kt:16 // test.kt:9 // test.kt:9 box // test.kt:18 box // test.kt:29 box // EXPECTATIONS JS_IR // test.kt:21 box // test.kt:9 box // test.kt:15 // test.kt:23 bar // test.kt:25 // test.kt:23 // test.kt:12 bar // test.kt:9 // test.kt:29 box // EXPECTATIONS WASM // test.kt:21 $box (17, 4) // test.kt:22 $box // test.kt:9 $box (4, 4) // test.kt:15 $. // test.kt:11 $.bar // test.kt:25 $. (16, 25, 25, 25, 25, 16) // test.kt:27 $. // test.kt:12 $.bar // test.kt:17 $. // test.kt:29 $box