// 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. // LINENUMBERS // test.kt:48 box // test.kt:3 // test.kt:6 // test.kt:7 // test.kt:45 x // test.kt:7 // test.kt:8 // LINENUMBERS JVM_IR // test.kt:3 // LINENUMBERS // test.kt:48 box // test.kt:49 box // test.kt:11 // test.kt:12 // test.kt:13 // test.kt:14 // test.kt:16 // test.kt:17 // test.kt:18 // LINENUMBERS JVM_IR // test.kt:11 // LINENUMBERS // test.kt:49 box // test.kt:50 box // test.kt:21 // test.kt:22 // test.kt:23 // test.kt:24 // test.kt:26 // test.kt:45 x // test.kt:26 // test.kt:28 // test.kt:29 // test.kt:30 // LINENUMBERS JVM_IR // test.kt:21 // LINENUMBERS // test.kt:50 box // test.kt:51 box // test.kt:33 // test.kt:34 // test.kt:36 // test.kt:38 // test.kt:39 // test.kt:40 // test.kt:42 // LINENUMBERS JVM_IR // test.kt:33 // LINENUMBERS // test.kt:51 box // test.kt:52 box