Files
kotlin-fork/compiler/testData/codegen/box/controlStructures/tryCatchInExpressions/inlineTryCatch.kt
T
Juan Chen 7249d2f889 [FIR] Fix translation of invokes & add return expressions for lambdas
* fixed NoSuchMethod caused by mismatched signatures of the "invoke" method generated for lambda arguments
* added test cases in invoke.kt for KFunction and anonymous functions
* added a transformer to wrap the last expression in the bodies of lambdas with return
2020-02-06 12:44:14 +03:00

18 lines
334 B
Kotlin
Vendored

inline fun <T> tryOrElse(f1: () -> T, f2: () -> T): T {
try {
return f1()
}
catch (e: Exception) {
return f2()
}
}
fun testIt() = "abc" + tryOrElse({ "def" }, { "oops" }) + "ghi"
fun box(): String {
val test = testIt()
if (test != "abcdefghi") return "Failed, test==$test"
return "OK"
}