// IGNORE_BACKEND: WASM // FILE: test.kt class Foo { var a: String init { a = x() } } class Bar { init { val a = 5 } init { val b = 2 } } class Boo { init { val a = 5 } val x = x() init { val b = 2 } } class Zoo { init { val a = 5 } init { val b = 6 } init { val c = 7 } init { val d = 8 } } fun x() = "" fun box() { Foo() Bar() Boo() Zoo() } // JVM_IR has an extra step back to the line of the class // declaration for the return in the constructor. // EXPECTATIONS JVM JVM_IR // test.kt:49 box // test.kt:4 // test.kt:7 // test.kt:8 // test.kt:46 x // test.kt:8 // test.kt:9 // EXPECTATIONS JVM_IR // test.kt:4 // EXPECTATIONS JVM JVM_IR // test.kt:49 box // test.kt:50 box // test.kt:12 // test.kt:13 // test.kt:14 // test.kt:15 // test.kt:17 // test.kt:18 // test.kt:19 // EXPECTATIONS JVM_IR // test.kt:12 // EXPECTATIONS JVM JVM_IR // test.kt:50 box // test.kt:51 box // test.kt:22 // test.kt:23 // test.kt:24 // test.kt:25 // test.kt:27 // test.kt:46 x // test.kt:27 // test.kt:29 // test.kt:30 // test.kt:31 // EXPECTATIONS JVM_IR // test.kt:22 // EXPECTATIONS JVM JVM_IR // test.kt:51 box // test.kt:52 box // test.kt:34 // test.kt:35 // test.kt:37 // test.kt:39 // test.kt:40 // test.kt:41 // test.kt:43 // EXPECTATIONS JVM_IR // test.kt:34 // EXPECTATIONS JVM JVM_IR // test.kt:52 box // test.kt:53 box // EXPECTATIONS JS_IR // test.kt:49 box // test.kt:8 // test.kt:46 x // test.kt:4 // test.kt:50 box // test.kt:14 // test.kt:18 // test.kt:12 // test.kt:51 box // test.kt:24 // test.kt:27 // test.kt:46 x // test.kt:30 // test.kt:22 // test.kt:52 box // test.kt:35 // test.kt:37 // test.kt:40 // test.kt:43 // test.kt:34 // test.kt:53 box