Files
kotlin-fork/js/js.translator/testData/box/closure/lambdaInLocalFun.kt
T
2018-04-19 13:17:28 +03:00

43 lines
752 B
Kotlin
Vendored

// IGNORE_BACKEND: JS_IR
// EXPECTED_REACHABLE_NODES: 1116
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"
}