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
This commit is contained in:
+4
@@ -0,0 +1,4 @@
|
||||
fun box(): String =
|
||||
"" +
|
||||
try { "O" } catch (e: Exception) { "1" } +
|
||||
try { throw Exception("oops!") } catch (e: Exception) { "K" }
|
||||
Reference in New Issue
Block a user