[Test] Add test reproducing incorrect error in K2 about super qualifier
...with type arguments. Also, add lazy resolve test to check the subsequent changes are correct. ^KT-66150
This commit is contained in:
committed by
Space Team
parent
a38d317824
commit
c4f89ab32e
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
interface B<T> {
|
||||
fun f() = true
|
||||
}
|
||||
|
||||
open class A(b: Boolean)
|
||||
|
||||
class C : B<Int> {
|
||||
inner class Inner : A(super<<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>B<!>>.<!UNRESOLVED_REFERENCE!>f<!>())
|
||||
inner class Inner2 : A(super<B<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.f())
|
||||
|
||||
fun test() {
|
||||
class LocalClass : A(super<<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>B<!>>.<!UNRESOLVED_REFERENCE!>f<!>())
|
||||
class LocalClass2 : A(super<B<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.f())
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
interface B<T> {
|
||||
fun f() = true
|
||||
}
|
||||
|
||||
open class A(b: Boolean)
|
||||
|
||||
class C : B<Int> {
|
||||
inner class Inner : A(super<B>.f())
|
||||
inner class Inner2 : A(super<B<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.f())
|
||||
|
||||
fun test() {
|
||||
class LocalClass : A(super<B>.f())
|
||||
class LocalClass2 : A(super<B<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.f())
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// LL_FIR_DIVERGENCE
|
||||
// WRONG_NUMBER_OF_TYPE_ARGUMENTS not reported in Inner class because of BodyBuildingMode.LAZY_BODIES
|
||||
// LL_FIR_DIVERGENCE
|
||||
interface B<T> {
|
||||
fun f() = true
|
||||
}
|
||||
|
||||
open class A(b: Boolean)
|
||||
|
||||
class C : B<Int> {
|
||||
inner class Inner : A(super<B>.f())
|
||||
inner class Inner2 : A(super<B<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.f())
|
||||
|
||||
fun test() {
|
||||
class LocalClass : A(super<<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>B<!>>.<!UNRESOLVED_REFERENCE!>f<!>())
|
||||
class LocalClass2 : A(super<B<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.f())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user