FIR: handle labeled super reference properly
This commit is contained in:
committed by
Mikhail Glukhikh
parent
260683c20e
commit
7b01cf7b04
@@ -31,7 +31,7 @@ class A<E>() : C(), T {
|
||||
fun test() {
|
||||
super<T>.foo();
|
||||
<!NOT_A_SUPERTYPE!>super<C><!>.bar()
|
||||
<!NOT_A_SUPERTYPE!>super<C>@A<!>.bar()
|
||||
super<C>@A.bar()
|
||||
super<T>@A.foo()
|
||||
super<T>@B.foo()
|
||||
<!NOT_A_SUPERTYPE!>super<C>@B<!>.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
|
||||
-33
@@ -1,33 +0,0 @@
|
||||
open class A {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
interface B {
|
||||
fun bar() {}
|
||||
}
|
||||
|
||||
interface Q {
|
||||
fun qux() {}
|
||||
}
|
||||
|
||||
class C : A(), B {
|
||||
override fun foo() {
|
||||
super@C.foo()
|
||||
}
|
||||
|
||||
override fun bar() {
|
||||
super@C.bar()
|
||||
}
|
||||
|
||||
inner class D : A(), Q {
|
||||
override fun foo() {
|
||||
super@C.foo()
|
||||
super@D.foo()
|
||||
}
|
||||
|
||||
override fun qux() {
|
||||
super@C.qux()
|
||||
super@D.qux()
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
open class A {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user