mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-03-10 08:31:29 +00:00
This ensures that the debugger always has a bytecode offset for the line number of a break/continue so that you step there and so that you can set breakpoints there. The `nop` instruction is optimized out if it has no line number information. ^KT-46450 Fixed
38 lines
2.1 KiB
Kotlin
Vendored
38 lines
2.1 KiB
Kotlin
Vendored
// FILE: test.kt
|
|
fun box() {
|
|
var result = ""
|
|
for (x in listOf("A", "B")) {
|
|
try {
|
|
val y = "y"
|
|
result += y
|
|
continue
|
|
}
|
|
finally {
|
|
val z = "z"
|
|
result += z
|
|
}
|
|
}
|
|
}
|
|
|
|
// The old backend has the local y covering the finally block as well.
|
|
// IGNORE_BACKEND: JVM
|
|
|
|
// LOCAL VARIABLES
|
|
// test.kt:3 box:
|
|
// test.kt:4 box: result:java.lang.String="":java.lang.String
|
|
// test.kt:5 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
|
|
// test.kt:6 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
|
|
// test.kt:7 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
|
|
// test.kt:8 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
|
|
// test.kt:11 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String
|
|
// test.kt:12 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, z:java.lang.String="z":java.lang.String
|
|
// test.kt:4 box: result:java.lang.String="yz":java.lang.String
|
|
// test.kt:5 box: result:java.lang.String="yz":java.lang.String, x:java.lang.String="B":java.lang.String
|
|
// test.kt:6 box: result:java.lang.String="yz":java.lang.String, x:java.lang.String="B":java.lang.String
|
|
// test.kt:7 box: result:java.lang.String="yz":java.lang.String, x:java.lang.String="B":java.lang.String, y:java.lang.String="y":java.lang.String
|
|
// test.kt:8 box: result:java.lang.String="yzy":java.lang.String, x:java.lang.String="B":java.lang.String, y:java.lang.String="y":java.lang.String
|
|
// test.kt:11 box: result:java.lang.String="yzy":java.lang.String, x:java.lang.String="B":java.lang.String
|
|
// test.kt:12 box: result:java.lang.String="yzy":java.lang.String, x:java.lang.String="B":java.lang.String, z:java.lang.String="z":java.lang.String
|
|
// test.kt:4 box: result:java.lang.String="yzyz":java.lang.String
|
|
// test.kt:15 box: result:java.lang.String="yzyz":java.lang.String
|