mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-11 00:21:29 +00:00
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
21 lines
471 B
Kotlin
Vendored
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"
|
|
}
|