FIR: introduce & use REFERENCE_BY_QUALIFIER positioning strategy
This commit is contained in:
+1
-1
@@ -7,5 +7,5 @@ fun Int.invoke(a: Any, i: Int) {}
|
||||
fun foo(i: Int) {
|
||||
<!AMBIGUITY!>i<!>(1, 1)
|
||||
|
||||
<!AMBIGUITY!>5(1, 2)<!>
|
||||
<!AMBIGUITY!>5<!>(1, 2)
|
||||
}
|
||||
|
||||
+1
-1
@@ -6,5 +6,5 @@ class My {
|
||||
|
||||
fun My.foo(i: Int) {
|
||||
<!HIDDEN!>i<!>("")
|
||||
<!HIDDEN!>1("")<!>
|
||||
<!HIDDEN!>1<!>("")
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -7,5 +7,5 @@ fun test1(f: String.() -> Unit) {
|
||||
fun test2(f: (Int) -> Int) {
|
||||
1.<!UNRESOLVED_REFERENCE!>f<!>(2)
|
||||
|
||||
2.(<!UNRESOLVED_REFERENCE!>f<!>)(2)
|
||||
2.<!UNRESOLVED_REFERENCE!>(f)<!>(2)
|
||||
}
|
||||
Vendored
+1
-1
@@ -10,5 +10,5 @@ fun foo(s: String, ai: A<Int>) {
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>s<!>(ai)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>""(ai)<!>
|
||||
<!INAPPLICABLE_CANDIDATE!>""<!>(ai)
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
fun foo(i: Int) {
|
||||
<!UNRESOLVED_REFERENCE!>i<!>()
|
||||
<!UNRESOLVED_REFERENCE!>1()<!>
|
||||
<!UNRESOLVED_REFERENCE!>1<!>()
|
||||
}
|
||||
+1
-1
@@ -6,5 +6,5 @@ operator fun String.invoke(i: Int) {}
|
||||
fun foo(s: String?) {
|
||||
<!UNSAFE_IMPLICIT_INVOKE_CALL!>s<!>(1)
|
||||
|
||||
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(s ?: null)(1)<!>
|
||||
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(s ?: null)<!>(1)
|
||||
}
|
||||
|
||||
Vendored
+5
-5
@@ -1,17 +1,17 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
|
||||
fun test1() {
|
||||
1. <!UNRESOLVED_REFERENCE!>(fun String.(i: Int) = i )(1)<!>
|
||||
1.<!UNRESOLVED_REFERENCE!>(label@ fun String.(i: Int) = i )(1)<!>
|
||||
1. <!UNRESOLVED_REFERENCE!>(fun String.(i: Int) = i )<!>(1)
|
||||
1.<!UNRESOLVED_REFERENCE!>(label@ fun String.(i: Int) = i )<!>(1)
|
||||
}
|
||||
|
||||
fun test2(f: String.(Int) -> Unit) {
|
||||
11.(<!INAPPLICABLE_CANDIDATE!>f<!>)(1)
|
||||
11.(<!INAPPLICABLE_CANDIDATE!>f<!>)()
|
||||
11.<!INAPPLICABLE_CANDIDATE!>(f)<!>(1)
|
||||
11.<!INAPPLICABLE_CANDIDATE!>(f)<!>()
|
||||
}
|
||||
|
||||
fun test3() {
|
||||
fun foo(): String.(Int) -> Unit = {}
|
||||
|
||||
1.<!UNRESOLVED_REFERENCE!>(foo())(1)<!>
|
||||
1.<!UNRESOLVED_REFERENCE!>(foo())<!>(1)
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -6,5 +6,5 @@ fun String.invoke(i: Int) {}
|
||||
fun foo(i: Int) {
|
||||
<!INAPPLICABLE_CANDIDATE!>i<!>(1)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>1(1)<!>
|
||||
<!INAPPLICABLE_CANDIDATE!>1<!>(1)
|
||||
}
|
||||
+4
-4
@@ -2,17 +2,17 @@ class A(val x: (String.() -> Unit)?)
|
||||
|
||||
fun test(a: A) {
|
||||
if (a.x != null) {
|
||||
"".<!UNRESOLVED_REFERENCE!>(a.x)()<!>
|
||||
"".<!UNRESOLVED_REFERENCE!>(a.x)<!>()
|
||||
a.x("") // todo
|
||||
(a.x)("")
|
||||
}
|
||||
"".<!UNRESOLVED_REFERENCE!>(a.x)()<!>
|
||||
"".<!UNRESOLVED_REFERENCE!>(a.x)<!>()
|
||||
a.<!UNSAFE_IMPLICIT_INVOKE_CALL!>x<!>("")
|
||||
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)("")<!>
|
||||
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>("")
|
||||
|
||||
with("") {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>x<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>(a.x)()<!>
|
||||
<!INAPPLICABLE_CANDIDATE!>(a.x)<!>()
|
||||
if (a.x != null) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>x<!>() // todo
|
||||
(a.x)()
|
||||
|
||||
Vendored
+6
-6
@@ -8,7 +8,7 @@ class B
|
||||
val A.foo: B.() -> Unit get() = {}
|
||||
|
||||
fun test(a: A, b: B) {
|
||||
b.<!UNRESOLVED_REFERENCE!>(a.foo)()<!>
|
||||
b.<!UNRESOLVED_REFERENCE!>(a.foo)<!>()
|
||||
(a.foo)(b)
|
||||
a.foo(b)
|
||||
|
||||
@@ -17,7 +17,7 @@ fun test(a: A, b: B) {
|
||||
|
||||
b.(foo)()
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>(b.<!INAPPLICABLE_CANDIDATE!>foo<!>)()<!>
|
||||
<!INAPPLICABLE_CANDIDATE!>(b.<!INAPPLICABLE_CANDIDATE!>foo<!>)<!>()
|
||||
|
||||
foo(b)
|
||||
(foo)(b)
|
||||
@@ -25,7 +25,7 @@ fun test(a: A, b: B) {
|
||||
|
||||
with(b) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.(<!INAPPLICABLE_CANDIDATE!>foo<!>)()
|
||||
a.<!INAPPLICABLE_CANDIDATE!>(foo)<!>()
|
||||
|
||||
(a.foo)()
|
||||
|
||||
@@ -50,7 +50,7 @@ class A {
|
||||
class B
|
||||
|
||||
fun test(a: A, b: B) {
|
||||
b.<!UNRESOLVED_REFERENCE!>(a.foo)()<!>
|
||||
b.<!UNRESOLVED_REFERENCE!>(a.foo)<!>()
|
||||
(a.foo)(b)
|
||||
a.foo(b)
|
||||
|
||||
@@ -59,7 +59,7 @@ fun test(a: A, b: B) {
|
||||
|
||||
b.(foo)()
|
||||
|
||||
<!UNRESOLVED_REFERENCE!>(b.<!UNRESOLVED_REFERENCE!>foo<!>)()<!>
|
||||
<!UNRESOLVED_REFERENCE!>(b.<!UNRESOLVED_REFERENCE!>foo<!>)<!>()
|
||||
|
||||
foo(b)
|
||||
(foo)(b)
|
||||
@@ -67,7 +67,7 @@ fun test(a: A, b: B) {
|
||||
|
||||
with(b) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.(<!INAPPLICABLE_CANDIDATE!>foo<!>)()
|
||||
a.<!INAPPLICABLE_CANDIDATE!>(foo)<!>()
|
||||
|
||||
(a.foo)()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user