Add support of extension search

This commit is contained in:
Alexey Sedunov
2013-08-08 17:02:41 +04:00
parent 1881d17b67
commit 76c81aa3f0
8 changed files with 192 additions and 244 deletions
@@ -4,7 +4,7 @@ open class B: A<String>() {
}
open fun baz(a: A<String>) {
a.foo("", 0)
foo("", 0)
}
open fun baz(a: A<Number>) {
@@ -1,5 +1,16 @@
// OPTIONS: overloadUsages
open class A<T> {
trait X<T> {
}
fun <T> X<T>.foo(a: Number, b: Number) {
println("$a$b")
}
fun bar(x: X<String>) {
x.foo(1, 2)
}
open class A<T>: X<T> {
open fun <caret>foo(t: T) {
println(t)
}
@@ -14,7 +25,11 @@ fun <T> A<T>.foo(t: T, x: String) {
println(x)
}
fun A<String>.foo(s: String, n: Number) {
fun bar(a: A<Number>) {
a.foo(1, "")
}
fun B.foo(s: String, n: Number) {
fun <T> A<T>.foo(t: T, x: String) {
foo(t)
println(x)
@@ -22,4 +37,8 @@ fun A<String>.foo(s: String, n: Number) {
foo(s)
println(n)
}
fun bar(b: B) {
b.foo("", 0)
}
@@ -0,0 +1,6 @@
Function call (10: 7) x.foo(1, 2)
Function call (11: 11) a.foo(0, "")
Function call (24: 5) foo(t)
Function call (29: 7) a.foo(1, "")
Function call (34: 9) foo(t)
Function call (3: 18) super<A>.foo(t)
@@ -1,4 +0,0 @@
Function call (13: 5) foo(t)
Function call (19: 9) foo(t)
Function call (23: 5) foo(s)
Function call (3: 18) super<A>.foo(t)