KT-11960: add test for case of instantiating inner class of a local class
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
fun box(): String {
|
||||
var log = ""
|
||||
|
||||
var s: Any? = null
|
||||
for (t in arrayOf("1", "2", "3")) {
|
||||
class A() {
|
||||
fun foo() = { t }
|
||||
}
|
||||
|
||||
if (s == null) {
|
||||
s = A()
|
||||
}
|
||||
|
||||
log += (s as A).foo()()
|
||||
}
|
||||
|
||||
if (log != "111") return "fail1: ${log}"
|
||||
|
||||
s = null
|
||||
log = ""
|
||||
for (t in arrayOf("1", "2", "3")) {
|
||||
class B() {
|
||||
val y = t
|
||||
|
||||
fun foo() = { y }
|
||||
}
|
||||
|
||||
if (s == null) {
|
||||
s = B()
|
||||
}
|
||||
|
||||
log += (s as B).foo()()
|
||||
}
|
||||
|
||||
if (log != "111") return "fail2: ${log}"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user