Reapply "Only create descriptors for candidates with lambda args"

#KT-36247 fixed
A lot of testdata changed because significanly less (error) descriptors
are created for unresolved types, so diagnostics became different.
This commit is contained in:
Ilya Chernikov
2020-02-13 16:35:06 +01:00
parent 238bfe3771
commit 6356807997
203 changed files with 481 additions and 802 deletions
@@ -15,6 +15,6 @@ fun test() {
A.f2()
B.f3()
B.f4()
A.<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>f5<!>()
B.<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>f5<!>()
A.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>f5<!>()
B.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>f5<!>()
}
+1 -1
View File
@@ -10,7 +10,7 @@ class Customer(<!UNUSED_PARAMETER!>name1<!>: String)
fun foo(f: File, c: Customer) {
f.name1
c.<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>name1<!> // name1 should be unresolved here
c.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>name1<!> // name1 should be unresolved here
}
val File.name1: String
@@ -7,28 +7,28 @@ package bar
fun <R> List<R>.a() {}
fun test1(i: Int?) {
1.<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>a<!>()
i.<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>a<!>()
1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>a<!>()
i.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>a<!>()
}
fun <R> test2(c: Collection<R>) {
c.<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>a<!>()
c.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>a<!>()
}
fun Int.foo() {}
fun test3(s: String?) {
"".<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>()
s.<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>()
"".<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>(1)
s.<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>("a")
"".<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>()
s.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>()
"".<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>(1)
s.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>("a")
}
interface A
fun <T: A> T.c() {}
fun test4() {
1.<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>c<!>()
1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>c<!>()
}
@@ -41,16 +41,16 @@ fun test5() {
fun <R: Any> R?.sure() : R = this!!
fun <T> test6(l: List<T>?) {
<!OI;TYPE_MISMATCH!>l<!>.<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, NI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>sure<!><<!OI;UPPER_BOUND_VIOLATED!>T<!>>()
<!OI;TYPE_MISMATCH!>l<!>.<!NI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>sure<!><<!OI;UPPER_BOUND_VIOLATED!>T<!>>()
}
fun List<String>.b() {}
fun test7(l: List<String?>) {
<!OI;TYPE_MISMATCH!>l<!>.<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, NI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>b<!>()
<!OI;TYPE_MISMATCH!>l<!>.<!NI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>b<!>()
}
fun test8(l: List<Any>?) {
<!OI;TYPE_MISMATCH!>l<!>.<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, NI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>b<!>()
<!OI;TYPE_MISMATCH!>l<!>.<!NI;UNRESOLVED_REFERENCE_WRONG_RECEIVER!>b<!>()
}
@@ -6,7 +6,7 @@ class A {}
fun test(a1: A, a2: A) {
val <!UNUSED_VARIABLE!>range<!> = "island".."isle"
a1<!NI;DEBUG_INFO_UNRESOLVED_WITH_TARGET, UNRESOLVED_REFERENCE_WRONG_RECEIVER!>..<!>a2
a1<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>..<!>a2
}