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
16 lines
293 B
Kotlin
Vendored
16 lines
293 B
Kotlin
Vendored
// !LANGUAGE: +VariableDeclarationInWhenSubject
|
|
|
|
fun box(): String {
|
|
var y: String = "OK"
|
|
|
|
var materializer: (() -> String)? = null
|
|
|
|
when (val x = y) {
|
|
"OK" -> materializer = { x }
|
|
else -> return "x is $x"
|
|
}
|
|
|
|
y = "Fail"
|
|
|
|
return materializer!!.invoke()
|
|
} |