blob: e473fee57cb2cc476f915ea16ec0e0f36e99806e [file]
// TARGET_BACKEND: WASM
// USE_OLD_EXCEPTION_HANDLING_PROPOSAL
// WASM_FAILS_IN: Wasmtime, WasmEdge
class MyString {
var s = ""
operator fun plus(x : String) : MyString {
s += x
return this
}
override fun toString(): String {
return s
}
}
fun test1() : MyString {
var r = MyString()
try {
r + "Try1"
try {
r + "Try2"
if (true)
return r
} finally {
r + "Finally2"
if (true) {
return r
}
}
return r
} finally {
r + "Finally1"
}
}
fun box(): String {
return if (test1().toString() == "Try1Try2Finally2Finally1") "OK" else "fail: ${test1()}"
}