Resolve invoke on any kind of expressions, not only on simple name expressions

This commit is contained in:
Svetlana Isakova
2014-02-04 19:07:06 +04:00
parent c7087d170e
commit a829da185d
31 changed files with 391 additions and 101 deletions
@@ -0,0 +1,21 @@
//KT-3772 Invoke and overload resolution ambiguity
open class A {
fun invoke(f: A.() -> Unit) = 1
}
class B {
fun invoke(f: B.() -> Unit) = 2
}
open class C
val C.attr = A()
open class D: C()
val D.attr = B()
fun box(): String {
val d = D()
return if (d.attr {} == 2) "OK" else "fail"
}