| // FILE: test.kt |
| fun box() { |
| val x = value() |
| when (x) { |
| x0() -> nop() |
| x1() -> nop() |
| x2() -> nop() |
| x3() -> nop() |
| else -> nop() |
| } |
| |
| when (x0() + x1()) { |
| x0().rid() -> nop() |
| id(x1()) -> nop() |
| else -> nop() |
| } |
| } |
| |
| fun value(): Int = 2 |
| inline fun x0(): Int = 0 |
| inline fun x1(): Int = 1 |
| inline fun x2(): Int = 2 |
| inline fun x3(): Int = 3 |
| |
| inline fun id(x: Int): Int = x |
| inline fun Int.rid(): Int = this |
| |
| fun nop() {} |
| |
| // JVM_IR generates an additional line number for the end of the condition, which is necessary for the correct "step over" behavior. |
| |
| // EXPECTATIONS |
| // test.kt:3 box |
| // test.kt:19 value |
| // test.kt:3 box |
| // test.kt:4 box |
| // test.kt:5 box |
| // test.kt:20 box |
| // EXPECTATIONS JVM_IR |
| // test.kt:5 box |
| // EXPECTATIONS |
| // test.kt:6 box |
| // test.kt:21 box |
| // EXPECTATIONS JVM_IR |
| // test.kt:6 box |
| // EXPECTATIONS |
| // test.kt:7 box |
| // test.kt:22 box |
| // test.kt:7 box |
| // test.kt:28 nop |
| // test.kt:7 box |
| // test.kt:12 box |
| // test.kt:20 box |
| // test.kt:12 box |
| // test.kt:21 box |
| // test.kt:12 box |
| // test.kt:13 box |
| // test.kt:20 box |
| // test.kt:13 box |
| // test.kt:26 box |
| // EXPECTATIONS JVM_IR |
| // test.kt:13 box |
| // EXPECTATIONS |
| // test.kt:14 box |
| // test.kt:21 box |
| // test.kt:14 box |
| // test.kt:25 box |
| // test.kt:14 box |
| // test.kt:28 nop |
| // test.kt:14 box |
| // test.kt:17 box |