7249d2f889
* 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
17 lines
331 B
Kotlin
Vendored
17 lines
331 B
Kotlin
Vendored
//KT-3297 Calling the wrong function inside an extension method to the Function0 class
|
|
|
|
infix fun <R> Function0<R>.or(alt: () -> R): R {
|
|
try {
|
|
return this()
|
|
} catch (e: Exception) {
|
|
return alt()
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
return {
|
|
throw RuntimeException("fail")
|
|
} or {
|
|
"OK"
|
|
}
|
|
} |