Refactoring & clarification: implement new FIR tower resolver
This commit is contained in:
Vendored
+2
-2
@@ -6,8 +6,8 @@ fun test1() {
|
||||
}
|
||||
|
||||
fun test2(f: String.(Int) -> Unit) {
|
||||
11.(<!UNRESOLVED_REFERENCE!>f<!>)(1)
|
||||
11.(<!UNRESOLVED_REFERENCE!>f<!>)()
|
||||
11.(<!INAPPLICABLE_CANDIDATE!>f<!>)(1)
|
||||
11.(<!INAPPLICABLE_CANDIDATE!>f<!>)()
|
||||
}
|
||||
|
||||
fun test3() {
|
||||
|
||||
Vendored
+1
-1
@@ -10,5 +10,5 @@ fun test(identifier: SomeClass, fn: String.() -> Unit) {
|
||||
<!INAPPLICABLE_CANDIDATE!>identifier<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>identifier<!>(123)
|
||||
<!INAPPLICABLE_CANDIDATE!>identifier<!>(1, 2)
|
||||
1.<!UNRESOLVED_REFERENCE!>fn<!>()
|
||||
1.<!INAPPLICABLE_CANDIDATE!>fn<!>()
|
||||
}
|
||||
+2
-2
@@ -15,8 +15,8 @@ fun test(a: A) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>x<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>(a.x)()<!>
|
||||
if (a.x != null) {
|
||||
a.x() // todo
|
||||
(a.x)()
|
||||
a.<!INAPPLICABLE_CANDIDATE!>x<!>() // todo
|
||||
<!INAPPLICABLE_CANDIDATE!>(a.x)()<!>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+9
-9
@@ -13,9 +13,9 @@ fun test(a: A, b: B) {
|
||||
a.foo(b)
|
||||
|
||||
with(a) {
|
||||
b.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
b.foo()
|
||||
|
||||
b.(<!UNRESOLVED_REFERENCE!>foo<!>)()
|
||||
b.(foo)()
|
||||
|
||||
<!UNRESOLVED_REFERENCE!>(b.<!INAPPLICABLE_CANDIDATE!>foo<!>)()<!>
|
||||
|
||||
@@ -24,10 +24,10 @@ fun test(a: A, b: B) {
|
||||
}
|
||||
|
||||
with(b) {
|
||||
a.foo()
|
||||
a.(foo)()
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.(<!INAPPLICABLE_CANDIDATE!>foo<!>)()
|
||||
|
||||
(a.foo)()
|
||||
<!INAPPLICABLE_CANDIDATE!>(a.foo)()<!>
|
||||
|
||||
(a.foo)(this)
|
||||
a.foo(this)
|
||||
@@ -59,17 +59,17 @@ fun test(a: A, b: B) {
|
||||
|
||||
b.(foo)()
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>(b.foo)()<!>
|
||||
<!UNRESOLVED_REFERENCE!>(b.<!UNRESOLVED_REFERENCE!>foo<!>)()<!>
|
||||
|
||||
foo(b)
|
||||
(foo)(b)
|
||||
}
|
||||
|
||||
with(b) {
|
||||
a.foo()
|
||||
a.(foo)()
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.(<!INAPPLICABLE_CANDIDATE!>foo<!>)()
|
||||
|
||||
(a.foo)()
|
||||
<!INAPPLICABLE_CANDIDATE!>(a.foo)()<!>
|
||||
|
||||
(a.foo)(this)
|
||||
a.foo(this)
|
||||
|
||||
@@ -20,7 +20,7 @@ val D.attr: B
|
||||
|
||||
fun main() {
|
||||
val b = D()
|
||||
b.attr {} // overload resolution ambiguity
|
||||
b.<!AMBIGUITY!>attr<!> {} // overload resolution ambiguity
|
||||
|
||||
val d = b.attr
|
||||
d {} // no error
|
||||
|
||||
@@ -6,11 +6,11 @@ class B
|
||||
|
||||
fun test(a: A, b: B) {
|
||||
with(b) {
|
||||
a.foo() // here must be error, because a is not extension receiver
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>() // here must be error, because a is not extension receiver
|
||||
|
||||
a.foo(this)
|
||||
|
||||
(a.foo)()
|
||||
<!INAPPLICABLE_CANDIDATE!>(a.foo)()<!>
|
||||
|
||||
(a.foo)(this)
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -9,5 +9,5 @@ fun test(identifier: SomeClass, fn: String.() -> Unit) {
|
||||
<!INAPPLICABLE_CANDIDATE!>identifier<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>identifier<!>(123)
|
||||
<!INAPPLICABLE_CANDIDATE!>identifier<!>(1, 2)
|
||||
1.<!UNRESOLVED_REFERENCE!>fn<!>()
|
||||
1.<!INAPPLICABLE_CANDIDATE!>fn<!>()
|
||||
}
|
||||
Reference in New Issue
Block a user