Files
kotlin/compiler/testData/codegen/box/controlStructures/tryCatchInExpressions/multipleCatchBlocks.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

21 lines
471 B
Kotlin
Vendored

class Exception1(msg: String): Exception(msg)
class Exception2(msg: String): Exception(msg)
class Exception3(msg: String): Exception(msg)
fun box(): String =
"O" + try {
throw Exception3("K")
}
catch (e1: Exception1) {
"e1"
}
catch (e2: Exception2) {
"e2"
}
catch (e3: Exception3) {
e3.getMessage()
}
catch (e: Exception) {
"e"
}