// FILE: test.kt fun foo(x: Int): Int { when { x == 21 -> 1 x == 42 -> 2 else -> 3 } val t = when { x == 21 -> 1 x == 42 -> 2 else -> 3 } return t } fun box() { foo(21) foo(42) foo(63) } // JVM_IR backend optimized the when to a switch in the java bytecode. // Therefore, the stepping for JVM_IR does not step through the evaluation // of each of the conditions, but goes directly to the right body. // JVM_IR stepping behavior here is the same as for `whenMultiLineSubject.kt`. // EXPECTATIONS // test.kt:26 box // test.kt:4 foo // EXPECTATIONS JVM // test.kt:5 foo // EXPECTATIONS // test.kt:6 foo // test.kt:13 foo // EXPECTATIONS JVM // test.kt:14 foo // EXPECTATIONS // test.kt:15 foo // test.kt:13 foo // test.kt:22 foo // test.kt:26 box // test.kt:27 box // test.kt:4 foo // EXPECTATIONS JVM // test.kt:5 foo // test.kt:7 foo // EXPECTATIONS // test.kt:8 foo // test.kt:13 foo // EXPECTATIONS JVM // test.kt:14 foo // test.kt:16 foo // EXPECTATIONS // test.kt:17 foo // test.kt:13 foo // test.kt:22 foo // test.kt:27 box // test.kt:28 box // test.kt:4 foo // EXPECTATIONS JVM // test.kt:5 foo // test.kt:7 foo // EXPECTATIONS // test.kt:10 foo // test.kt:13 foo // EXPECTATIONS JVM // test.kt:14 foo // test.kt:16 foo // EXPECTATIONS // test.kt:19 foo // test.kt:13 foo // test.kt:22 foo // test.kt:28 box // test.kt:29 box