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:
+12
-12
@@ -17,24 +17,24 @@ class A<E>() : C(), T {
|
||||
super<C>.bar()
|
||||
super<T>@A.foo()
|
||||
super<C>@A.bar()
|
||||
super<<!NOT_A_SUPERTYPE!>E<!>>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>bar<!>()
|
||||
super<<!NOT_A_SUPERTYPE!>E<!>>@A.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>bar<!>()
|
||||
super<<!NOT_A_SUPERTYPE!>Int<!>>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>()
|
||||
super<<!SYNTAX!><!>>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>()
|
||||
super<<!NOT_A_SUPERTYPE!>() -> Unit<!>>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>()
|
||||
super<<!NOT_A_SUPERTYPE!>Unit<!>>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>()
|
||||
<!DEBUG_INFO_MISSING_UNRESOLVED!>super<!><T><!UNRESOLVED_REFERENCE!>@B<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>()
|
||||
<!DEBUG_INFO_MISSING_UNRESOLVED!>super<!><C><!UNRESOLVED_REFERENCE!>@B<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>bar<!>()
|
||||
super<<!NOT_A_SUPERTYPE!>E<!>>.<!DEBUG_INFO_MISSING_UNRESOLVED!>bar<!>()
|
||||
super<<!NOT_A_SUPERTYPE!>E<!>>@A.<!DEBUG_INFO_MISSING_UNRESOLVED!>bar<!>()
|
||||
super<<!NOT_A_SUPERTYPE!>Int<!>>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>()
|
||||
super<<!SYNTAX!><!>>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>()
|
||||
super<<!NOT_A_SUPERTYPE!>() -> Unit<!>>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>()
|
||||
super<<!NOT_A_SUPERTYPE!>Unit<!>>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>()
|
||||
<!DEBUG_INFO_MISSING_UNRESOLVED!>super<!><T><!UNRESOLVED_REFERENCE!>@B<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>()
|
||||
<!DEBUG_INFO_MISSING_UNRESOLVED!>super<!><C><!UNRESOLVED_REFERENCE!>@B<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>bar<!>()
|
||||
}
|
||||
|
||||
inner class B : T {
|
||||
fun test() {
|
||||
super<T>.foo();
|
||||
super<<!NOT_A_SUPERTYPE!>C<!>>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>bar<!>()
|
||||
super<<!NOT_A_SUPERTYPE!>C<!>>.<!DEBUG_INFO_MISSING_UNRESOLVED!>bar<!>()
|
||||
super<C>@A.bar()
|
||||
super<T>@A.foo()
|
||||
super<T>@B.foo()
|
||||
super<<!NOT_A_SUPERTYPE!>C<!>>@B.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>()
|
||||
super<<!NOT_A_SUPERTYPE!>C<!>>@B.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>()
|
||||
super.foo()
|
||||
<!SUPER_IS_NOT_AN_EXPRESSION!>super<!>
|
||||
<!SUPER_IS_NOT_AN_EXPRESSION!>super<T><!>
|
||||
@@ -50,8 +50,8 @@ class CG : G<Int> {
|
||||
fun test() {
|
||||
super<G>.foo() // OK
|
||||
super<G<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.foo() // Warning
|
||||
super<<!NOT_A_SUPERTYPE!>G<<!UNRESOLVED_REFERENCE!>E<!>><!>>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>() // Error
|
||||
super<<!NOT_A_SUPERTYPE!>G<String><!>>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>() // Error
|
||||
super<<!NOT_A_SUPERTYPE!>G<<!UNRESOLVED_REFERENCE!>E<!>><!>>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>() // Error
|
||||
super<<!NOT_A_SUPERTYPE!>G<String><!>>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>() // Error
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
fun String.f() {
|
||||
<!SUPER_NOT_AVAILABLE!>super@f<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>compareTo<!>("")
|
||||
<!SUPER_NOT_AVAILABLE!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>compareTo<!>("")
|
||||
<!SUPER_NOT_AVAILABLE!>super@f<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>compareTo<!>("")
|
||||
<!SUPER_NOT_AVAILABLE!>super<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>compareTo<!>("")
|
||||
}
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
fun foo() {
|
||||
<!SUPER_IS_NOT_AN_EXPRESSION!>super<!>
|
||||
<!SUPER_NOT_AVAILABLE!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>()
|
||||
<!SUPER_NOT_AVAILABLE!>super<Nothing><!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>()
|
||||
<!SUPER_NOT_AVAILABLE!>super<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>()
|
||||
<!SUPER_NOT_AVAILABLE!>super<Nothing><!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>()
|
||||
}
|
||||
@@ -11,7 +11,7 @@ class A(val a:Int) {
|
||||
checkSubtype<A>(this@A)
|
||||
}
|
||||
val <!UNUSED_VARIABLE!>b<!>: Double.() -> Unit = a@{ checkSubtype<Double>(this@a) + checkSubtype<Byte>(this@xx) }
|
||||
val <!UNUSED_VARIABLE!>c<!> = a@{ -> <!NO_THIS!>this@a<!> <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!> checkSubtype<Byte>(this@xx) }
|
||||
val <!UNUSED_VARIABLE!>c<!> = a@{ -> <!NO_THIS!>this@a<!> <!DEBUG_INFO_MISSING_UNRESOLVED!>+<!> checkSubtype<Byte>(this@xx) }
|
||||
return (a@{checkSubtype<Double>(this@a) + checkSubtype<Byte>(this@xx)})
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+5
-5
@@ -14,7 +14,7 @@ class GenericDerivedClass<T> : GenericBaseClass<T>(), GenericBaseInterface<T> {
|
||||
override fun bar(x: T): T = super.bar(x)
|
||||
|
||||
override fun ambiguous(x: T): T =
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>(x)
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!NI;DEBUG_INFO_MISSING_UNRESOLVED, OI;DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>(x)
|
||||
}
|
||||
|
||||
class <!CONFLICTING_JVM_DECLARATIONS!>SpecializedDerivedClass<!> : GenericBaseClass<Int>(), GenericBaseInterface<String> {
|
||||
@@ -22,9 +22,9 @@ class <!CONFLICTING_JVM_DECLARATIONS!>SpecializedDerivedClass<!> : GenericBaseCl
|
||||
override fun bar(x: String): String = super.bar(x)
|
||||
|
||||
override fun ambiguous(x: String): String =
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>(x)
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!NI;DEBUG_INFO_MISSING_UNRESOLVED, OI;DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>(x)
|
||||
override fun ambiguous(x: Int): Int =
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>(x)
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!NI;DEBUG_INFO_MISSING_UNRESOLVED, OI;DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>(x)
|
||||
}
|
||||
|
||||
class <!CONFLICTING_JVM_DECLARATIONS!>MixedDerivedClass<!><T> : GenericBaseClass<Int>(), GenericBaseInterface<T> {
|
||||
@@ -32,7 +32,7 @@ class <!CONFLICTING_JVM_DECLARATIONS!>MixedDerivedClass<!><T> : GenericBaseClass
|
||||
override fun bar(x: T): T = super.bar(x)
|
||||
|
||||
override fun ambiguous(x: Int): Int =
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>(x)
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!NI;DEBUG_INFO_MISSING_UNRESOLVED, OI;DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>(x)
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>override fun ambiguous(x: T): T<!> =
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>(x)
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!NI;DEBUG_INFO_MISSING_UNRESOLVED, OI;DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>(x)
|
||||
}
|
||||
+2
-2
@@ -45,13 +45,13 @@ class Derived : Base(), Interface {
|
||||
super.prop
|
||||
|
||||
fun getAmbiguousSuperProp(): Int =
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguousProp<!>
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>ambiguousProp<!>
|
||||
|
||||
fun callsFunFromSuperInterface() {
|
||||
super.bar()
|
||||
}
|
||||
|
||||
fun callsAmbiguousSuperFun() {
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>()
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>ambiguous<!>()
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -34,6 +34,6 @@ class B : A(), I {
|
||||
}
|
||||
|
||||
override fun qux() {
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>qux<!>()
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>qux<!>()
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ interface InterfaceWithFun {
|
||||
|
||||
class DerivedUsingFun : BaseWithCallableProp(), InterfaceWithFun {
|
||||
fun foo(): String =
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>fn<!>()
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!NI;DEBUG_INFO_MISSING_UNRESOLVED, OI;DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>fn<!>()
|
||||
|
||||
override fun bar(): String =
|
||||
super.bar()
|
||||
|
||||
Vendored
+2
-2
@@ -20,9 +20,9 @@ interface AnotherInterface {
|
||||
interface DerivedInterface: Interface, AnotherInterface {
|
||||
override fun foo() { super.foo() }
|
||||
override fun ambiguous() {
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>()
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>ambiguous<!>()
|
||||
}
|
||||
override val ambiguousProp: Int
|
||||
get() = <!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguousProp<!>
|
||||
get() = <!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>ambiguousProp<!>
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -41,13 +41,13 @@ class ClassDerivedFromUnresolved : Base(), Interface, <!UNRESOLVED_REFERENCE!>Un
|
||||
super.prop
|
||||
|
||||
fun getAmbiguousSuperProp(): Int =
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguousProp<!>
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>ambiguousProp<!>
|
||||
|
||||
fun callsFunFromSuperInterface() {
|
||||
super.bar()
|
||||
}
|
||||
|
||||
fun callsAmbiguousSuperFun() {
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>ambiguous<!>()
|
||||
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>ambiguous<!>()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user