Files
kotlin-fork/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmDefault/superCall.fir.kt
T
Denis Zharkov cd896ae6c8 FIR: Implement FE 1.0 semantics for super unqualified calls
See original logic at org.jetbrains.kotlin.types.expressions.unqualifiedSuper.UnqualifiedSuperKt#resolveUnqualifiedSuperFromExpressionContext

^KT-39070 Fixed
^KT-39599 Related
2020-07-20 12:24:51 +03:00

63 lines
994 B
Kotlin
Vendored

// !JVM_TARGET: 1.8
// FILE: 1.kt
interface A {
@JvmDefault
fun test() {
}
}
// FILE: 2.kt
interface B : A {
}
interface C : B {
@JvmDefault
override fun test() {
super.test()
}
}
open class Foo : B {
override fun test() {
super.test()
}
}
open class Foo2 : B
open class Bar : Foo2() {
override fun test() {
super.test()
}
}
open class Bar2 : Bar() {
override fun test() {
super.test()
}
}
class ManySupers: Foo2(), B {
fun foo() {
super<Foo2>.test()
super<<!QUALIFIED_SUPERTYPE_EXTENDED_BY_OTHER_SUPERTYPE!>B<!>>.test()
super.<!UNRESOLVED_REFERENCE!>test<!>()
}
}
class ManySupers2: Foo2(), C {
fun foo() {
super<Foo2>.test()
super<C>.test()
super.<!UNRESOLVED_REFERENCE!>test<!>()
}
}
class ManySupers3: Bar2(), C {
fun foo() {
super<Bar2>.test()
super<C>.test()
super.<!UNRESOLVED_REFERENCE!>test<!>()
}
}