blob: 82946e860546e5d26cf6a2f7e18ea975bcb1f25d [file]
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_K2_MULTI_MODULE: JVM_IR_SERIALIZE
// This test is just a cropped copy of `boxInline/nonLocalReturns/tryFinally/chained/nestedLambda.kt`
// FILE: 1.kt
package test
class Holder {
var value: String = ""
}
inline fun <R> doCall(block: ()-> R, h: Holder) : R {
try {
return block()
} finally {
h.value += ", in doCall finally"
}
}
// FILE: 2.kt
import test.*
inline fun test2(holder: Holder, l: (s: Int) -> Unit): String {
try {
var externalResult = doCall (ext@ {
l(1)
}, holder)
return "fail"
}
finally {
holder.value += ", in global finally"
}
}
fun box(): String {
var holder = Holder()
return "OK"
}