Files
kotlin-fork/js/js.translator/testData/box/closure/lambdaInLocalFun.kt
T
2018-09-18 14:36:20 +03:00

42 lines
727 B
Kotlin
Vendored

// EXPECTED_REACHABLE_NODES: 1288
package foo
fun box(): String {
var log = ""
var s: Any? = null
for (t in arrayOf("1", "2", "3")) {
fun foo() = {
fun q() = { t }
q()
}
if (s == null) {
s = foo()
}
log += (s as (() -> (() -> String)))()()
}
if (log != "111") return "fail1: ${log}"
s = null
log = ""
for (t in arrayOf("1", "2", "3")) {
fun foo() = {
val y = t
fun q() = { y }
q()
}
if (s == null) {
s = foo()
}
log += (s as (() -> (() -> String)))()()
}
if (log != "111") return "fail2: ${log}"
return "OK"
}