KT-13658: don't capture FakeCallableDescriptorForObject in closure

This commit is contained in:
Alexey Andreev
2016-08-30 19:01:34 +03:00
parent 6a22d75dd7
commit 43abdaa894
3 changed files with 43 additions and 0 deletions
@@ -0,0 +1,36 @@
package foo
object O {
val result = "O"
}
operator fun O.invoke() = result
class A(val x: Int) {
companion object {
val result = "A"
}
}
operator fun A.Companion.invoke() = result
enum class B {
E {
val result = "B"
override operator fun invoke() = result
};
abstract operator fun invoke(): String
}
fun f() = { O() + A() + B.E() }
fun box(): String {
val result = f()()
if (result != "OAB") return "expected 'OAB', got '$result'"
return "OK"
}