// EXPECTED_REACHABLE_NODES: 1285 package foo fun f() {} class A(selector: Boolean, val y: Int) { val x = if (selector) { f(); y } else 999 val z = if (selector) { f(); x + 1 } else 999 } class B(selector: Boolean, val y: Int, val x: Int = if (selector) { f(); y } else { 999 }) fun box(): String { val a = A(true, 23) if (a.x != 23) return "fail: wrong evaluation order for property initializer (1): ${a.x}" if (a.z != 24) return "fail: wrong evaluation order for property initializer (2): ${a.z}" val b = B(true, 23) if (b.x != 23) return "fail: wrong evaluation order for default constructor arguments" return "OK" }