[FIR] Implement UNRESOLVED_REFERENCE_WRONG_RECEIVER

This commit is contained in:
Ivan Kochurkin
2021-08-10 16:40:51 +03:00
committed by Space
parent 34cc7e5199
commit 84c5f58cab
129 changed files with 322 additions and 481 deletions
@@ -3,7 +3,7 @@
fun String.invoke(i: Int) {}
fun foo(i: Int) {
<!INAPPLICABLE_CANDIDATE!>i<!>(1)
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>i<!>(1)
<!INAPPLICABLE_CANDIDATE!>1<!>(1)
}
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>1(1)<!>
}
@@ -16,7 +16,7 @@ fun test(a: A, b: B) {
b.(foo)()
<!ARGUMENT_TYPE_MISMATCH!>(b.<!INAPPLICABLE_CANDIDATE!>foo<!>)()<!>
<!ARGUMENT_TYPE_MISMATCH!>(b.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>)()<!>
foo(b)
(foo)(b)
@@ -5,7 +5,7 @@ fun Int.invoke() {}
class SomeClass
fun test(identifier: SomeClass, fn: String.() -> Unit) {
<!INAPPLICABLE_CANDIDATE!>identifier<!>()
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>identifier<!>()
identifier(<!TOO_MANY_ARGUMENTS!>123<!>)
identifier(<!TOO_MANY_ARGUMENTS!>1<!>, <!TOO_MANY_ARGUMENTS!>2<!>)
<!ARGUMENT_TYPE_MISMATCH!>1<!>.fn()
@@ -20,7 +20,7 @@ import test.E
fun foo() {
E.Entry checkType { _<E>() }
E.Entry checkType { <!INAPPLICABLE_CANDIDATE!>_<!><String>() }
E.Entry checkType { <!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>_<!><String>() }
E.Companion.Entry checkType { _<String>() }
E.NotEntry checkType { _<String>() }
Entry checkType { _<E>() }
@@ -33,8 +33,8 @@ fun foo() {
import test.E as U
fun bar() {
U.Entry checkType { <!INAPPLICABLE_CANDIDATE!>_<!><<!UNRESOLVED_REFERENCE!>E<!>>() }
U.Entry checkType { <!INAPPLICABLE_CANDIDATE!>_<!><String>() }
U.Entry checkType { <!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>_<!><<!UNRESOLVED_REFERENCE!>E<!>>() }
U.Entry checkType { <!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>_<!><String>() }
U.Companion.Entry checkType { _<String>() }
U.NotEntry checkType { _<String>() }
}
@@ -10,11 +10,11 @@ fun Int.extFun() = 4
fun String.test() {
<!EXPRESSION_EXPECTED_PACKAGE_FOUND!>some<!>
some.A()
"".<!INAPPLICABLE_CANDIDATE!>some<!>
"".<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>some<!>
<!INAPPLICABLE_CANDIDATE!>foo<!>
"".<!INAPPLICABLE_CANDIDATE!>foo<!>
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>
"".<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>
<!INAPPLICABLE_CANDIDATE!>extFun<!>()
"".<!INAPPLICABLE_CANDIDATE!>extFun<!>()
}
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>extFun<!>()
"".<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>extFun<!>()
}