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
@@ -1,3 +1,3 @@
Function call 11 a.set(2, B(2))
Implicit 'set' 12 a[1] = B(2)
Implicit 'set' 13 a[2]++
Unclassified usage 13 a[2]++
@@ -50,5 +50,5 @@ fun buildList(): List<String> = null!!
fun myFile(): File = null!!
fun mainJdk6(x: List<String>) {
x.<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: stream">stream</error>().<error descr="[DEBUG] Resolved to error element">filter</error> { <error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error>.<error descr="[DEBUG] Resolved to error element">length</error> <error descr="[DEBUG] Resolved to error element">></error> 0 }
x.<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: stream">stream</error>().<error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved">filter</error> { <error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error>.<error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved">length</error> <error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved">></error> 0 }
}
@@ -2,9 +2,9 @@ package languageVersion1_0
public fun useJavaMap1_0(): java.util.HashMap<Int, Int> {
val g = java.util.HashMap<Int, Int>()
g.values.<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: removeIf">removeIf</error> { <error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error> <error descr="[DEBUG] Resolved to error element"><</error> 5 }
g.values.<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: removeIf">removeIf</error> { <error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error> <error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved"><</error> 5 }
return g
}
val use1_1 = languageVersion1_1.useJavaMap1_1().values.<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: removeIf">removeIf</error> { <error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error> <error descr="[DEBUG] Resolved to error element"><</error> 5 }
val use1_1 = languageVersion1_1.useJavaMap1_1().values.<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: removeIf">removeIf</error> { <error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error> <error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved"><</error> 5 }
@@ -5,25 +5,25 @@ public fun testUseAsReceiver(api: javaInterface.API) {
this.length
}
api.useM1B<String> {
<error descr="[NO_THIS] 'this' is not defined in this context">this</error>.<error descr="[DEBUG] Resolved to error element">length</error>
<error descr="[NO_THIS] 'this' is not defined in this context">this</error>.<error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved">length</error>
}
api.useM2A<String> {
this.length
}
api.useM2B<String> {
<error descr="[NO_THIS] 'this' is not defined in this context">this</error>.<error descr="[DEBUG] Resolved to error element">length</error>
<error descr="[NO_THIS] 'this' is not defined in this context">this</error>.<error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved">length</error>
}
}
public fun testUseAsParameter(api: javaInterface.API) {
api.useM1A<String> {
<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error>.<error descr="[DEBUG] Resolved to error element">length</error>
<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error>.<error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved">length</error>
}
api.useM1B<String> {
it.length
}
api.useM2A<String> {
<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error>.<error descr="[DEBUG] Resolved to error element">length</error>
<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error>.<error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved">length</error>
}
api.useM2B<String> {
it.length
@@ -2,13 +2,13 @@ package m2
public fun testUseAsReceiver(api: javaInterface.API) {
api.useM1A<String> {
<error descr="[NO_THIS] 'this' is not defined in this context">this</error>.<error descr="[DEBUG] Resolved to error element">length</error>
<error descr="[NO_THIS] 'this' is not defined in this context">this</error>.<error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved">length</error>
}
api.useM1B<String> {
this.length
}
api.useM2A<String> {
<error descr="[NO_THIS] 'this' is not defined in this context">this</error>.<error descr="[DEBUG] Resolved to error element">length</error>
<error descr="[NO_THIS] 'this' is not defined in this context">this</error>.<error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved">length</error>
}
api.useM2B<String> {
this.length
@@ -20,12 +20,12 @@ public fun testUseAsParameter(api: javaInterface.API) {
it.length
}
api.useM1B<String> {
<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error>.<error descr="[DEBUG] Resolved to error element">length</error>
<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error>.<error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved">length</error>
}
api.useM2A<String> {
it.length
}
api.useM2B<String> {
<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error>.<error descr="[DEBUG] Resolved to error element">length</error>
<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error>.<error descr="[DEBUG] Reference is not resolved to anything, but is not marked unresolved">length</error>
}
}
@@ -5,6 +5,6 @@ actual class A {
}
fun test() {
<!RESOLUTION_TO_CLASSIFIER("TypealiasFromCommon", "EXPECT_CLASS_AS_FUNCTION", "Expected class TypealiasFromCommon does not have default constructor")!>TypealiasFromCommon<!>().<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>commonMember<!>()
<!RESOLUTION_TO_CLASSIFIER("TypealiasFromCommon", "EXPECT_CLASS_AS_FUNCTION", "Expected class TypealiasFromCommon does not have default constructor")!>TypealiasFromCommon<!>().<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>platformwMember<!>()
<!RESOLUTION_TO_CLASSIFIER("TypealiasFromCommon", "EXPECT_CLASS_AS_FUNCTION", "Expected class TypealiasFromCommon does not have default constructor")!>TypealiasFromCommon<!>().<!DEBUG_INFO_MISSING_UNRESOLVED!>commonMember<!>()
<!RESOLUTION_TO_CLASSIFIER("TypealiasFromCommon", "EXPECT_CLASS_AS_FUNCTION", "Expected class TypealiasFromCommon does not have default constructor")!>TypealiasFromCommon<!>().<!DEBUG_INFO_MISSING_UNRESOLVED!>platformwMember<!>()
}
@@ -12,5 +12,5 @@ fun nativeSpecific() {
}
fun jsSpecific() {
val windowClosed = <!UNRESOLVED_REFERENCE("window")!>window<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>closed<!>
val windowClosed = <!UNRESOLVED_REFERENCE("window")!>window<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>closed<!>
}
@@ -12,5 +12,5 @@ fun nativeSpecific() {
}
fun jsSpecific() {
val windowClosed = <!UNRESOLVED_REFERENCE("window")!>window<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>closed<!>
val windowClosed = <!UNRESOLVED_REFERENCE("window")!>window<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>closed<!>
}
@@ -12,5 +12,5 @@ fun nativeSpecific() {
}
fun jsSpecific() {
val windowClosed = <!UNRESOLVED_REFERENCE("window")!>window<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>closed<!>
val windowClosed = <!UNRESOLVED_REFERENCE("window")!>window<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>closed<!>
}