KT-11960: add test for case of instantiating inner class of a local class

This commit is contained in:
Alexey Andreev
2016-05-30 11:13:39 +03:00
parent acc5303731
commit 2bd807bb4e
7 changed files with 174 additions and 0 deletions
@@ -0,0 +1,41 @@
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"
}