Files
kotlin/compiler/testData/codegen/box/controlStructures/tryCatchInExpressions/splitTry.kt
Dmitry Petrov 4e42cc6b81 Save/restore stack in try-expressions (and statements).
Parse TryCatchBlockNode's in generated bytecode, infer stack save/restore points.
Save stack to local variables before 'try'.
Restore stack after the beginning of try-block, catch-block, and default handler.
Integrate before/after inline markers rewriting (otherwise it'll break our stacks).

 #KT-3309 Fixed
2015-07-07 12:16:29 +03:00

26 lines
376 B
Kotlin
Vendored

inline fun test(s: () -> Int): Int =
try {
val i = s()
i + 10
}
finally {
0
}
fun box() : String {
test {
try {
val p = 1
return "OK"
}
catch(e: Exception) {
-2
}
finally {
-3
}
}
return "Failed"
}