Fix resolve (members/extensions with 'infix' has higher priority)

This commit is contained in:
Yan Zhulanow
2015-09-30 21:39:26 +03:00
parent d28ecc2316
commit 7e8674c6ee
9 changed files with 65 additions and 25 deletions
@@ -0,0 +1,45 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
open class Example {
fun invoke() = 0
fun get(i: Int) = 0
fun component1() = 0
fun component2() = 0
fun inc() = Example()
fun plus(o: Example) = 0
}
class Example2 : Example()
operator fun Example.invoke() = ""
operator fun Example.get(i: Int) = ""
operator fun Example.component1() = ""
operator fun Example.component2() = ""
operator fun Example.inc() = Example2()
infix fun Example.plus(o: Example) = ""
fun a() {
var a = Example()
val b = Example()
consumeString(a())
consumeString(a[1])
val (x, y) = Example()
consumeString(x)
consumeString(y)
consumeExample2(++a)
consumeString(a plus b)
}
fun consumeInt(i: Int) {}
fun consumeString(s: String) {}
fun consumeExample2(e: Example2) {}