56d1184515
Condition was too strict if @JvmDefault implicitly hidden by class in inheritance. Diagnostic is redundant cause there isn't breaking change depending on interface method generation strategy and delegating stub generation in inheriting class.
32 lines
751 B
Kotlin
Vendored
32 lines
751 B
Kotlin
Vendored
// !JVM_TARGET: 1.8
|
|
interface A {
|
|
<!JVM_DEFAULT_IN_DECLARATION!>@JvmDefault
|
|
fun test()<!> {
|
|
}
|
|
}
|
|
|
|
interface B{
|
|
fun test() {
|
|
}
|
|
}
|
|
|
|
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface <!JVM_DEFAULT_THROUGH_INHERITANCE!>AB<!><!>: A, B
|
|
|
|
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface <!JVM_DEFAULT_THROUGH_INHERITANCE!>BA<!><!>: B, A
|
|
|
|
|
|
interface C : A, B {
|
|
<!JVM_DEFAULT_IN_DECLARATION!>@JvmDefault
|
|
override fun test()<!> {
|
|
super<B>.test()
|
|
super<A>.<!USAGE_OF_JVM_DEFAULT_THROUGH_SUPER_CALL!>test<!>()
|
|
}
|
|
}
|
|
|
|
interface D : B, A {
|
|
<!JVM_DEFAULT_IN_DECLARATION!>@JvmDefault
|
|
override fun test()<!> {
|
|
super<B>.test()
|
|
super<A>.<!USAGE_OF_JVM_DEFAULT_THROUGH_SUPER_CALL!>test<!>()
|
|
}
|
|
} |