JvmDefault: remove most tests on @JvmDefault

The tests are removed because JvmDefault is going to be deprecated with
error in KT-54746 and removed later in KT-57696.

Many of the removed tests already had existing counterparts with the new
modes `all` and `all-compatibility`. In this change, I've added such
tests where they were missing, and removed tests which were testing
behavior specific to the JvmDefault annotation, such as some
diagnostics.

 #KT-54746
This commit is contained in:
Alexander Udalov
2023-03-31 01:06:32 +02:00
committed by Space Team
parent ace2279631
commit 3120a35a88
210 changed files with 1267 additions and 7917 deletions
@@ -1,26 +1,26 @@
// FIR_IDENTICAL
// !JVM_TARGET: 1.8
// !JVM_DEFAULT_MODE: enable
// !JVM_DEFAULT_MODE: all
interface A<T> {
@<!DEPRECATION!>JvmDefault<!>
fun test(p: T) {
}
}
@JvmDefaultWithCompatibility
interface ANonDefault {
fun test(p: String) {}
}
interface B<T> : A<T> {
<!JVM_DEFAULT_REQUIRED_FOR_OVERRIDE!>override fun test(p: T)<!>
override fun test(p: T)
{}
}
interface C<T> : A<T>, ANonDefault {
<!JVM_DEFAULT_REQUIRED_FOR_OVERRIDE!>override fun test(p: T)<!>
override fun test(p: T)
{}
override fun test(p: String) {
@@ -41,7 +41,7 @@ interface C2 : C<String>, ANonDefault {
interface D<T> : ANonDefault, A<T> {
<!JVM_DEFAULT_REQUIRED_FOR_OVERRIDE!>override fun test(p: T)<!>
override fun test(p: T)
{}
override fun test(p: String) {
@@ -3,11 +3,11 @@ package
public interface A</*0*/ T> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open fun test(/*0*/ p: T): kotlin.Unit
public open fun test(/*0*/ p: T): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface ANonDefault {
@kotlin.jvm.JvmDefaultWithCompatibility public interface ANonDefault {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(/*0*/ p: kotlin.String): kotlin.Unit
@@ -64,3 +64,4 @@ public interface D2 : ANonDefault, D<kotlin.String> {
public open override /*3*/ fun test(/*0*/ p: kotlin.String): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,72 +0,0 @@
// !JVM_DEFAULT_MODE: enable
// !JVM_TARGET: 1.8
// FILE: JavaInterface.java
public interface JavaInterface {
default void test() {}
default void testForNonDefault() {}
void testAbstract();
}
// FILE: 1.kt
interface KotlinInterface : JavaInterface {
@<!DEPRECATION!>JvmDefault<!>
override fun test() {}
<!NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT!>override fun testForNonDefault()<!> {}
override fun testAbstract() {}
}
interface KotlinInterface2 : JavaInterface, KotlinInterface {
@<!DEPRECATION!>JvmDefault<!>
override fun test() {}
<!NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT!>override fun testForNonDefault()<!> {}
override fun testAbstract() {}
}
interface KotlinInterfaceForIndirect : JavaInterface {
}
interface KotlinInterfaceIndirectInheritance : KotlinInterfaceForIndirect {
@<!DEPRECATION!>JvmDefault<!>
override fun test() {}
<!NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT!>override fun testForNonDefault()<!> {}
override fun testAbstract() {}
}
open class KotlinClass : JavaInterface {
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}
interface KotlinInterfaceX {
fun test() {}
fun testForNonDefault() {}
fun testAbstract() {}
}
interface KotlinInterfaceManySuper: JavaInterface, KotlinInterfaceX {
@<!DEPRECATION!>JvmDefault<!>
override fun test() {}
<!NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT!>override fun testForNonDefault()<!> {}
override fun testAbstract() {}
}
@@ -1,72 +0,0 @@
// !JVM_DEFAULT_MODE: enable
// !JVM_TARGET: 1.8
// FILE: JavaInterface.java
public interface JavaInterface {
default void test() {}
default void testForNonDefault() {}
void testAbstract();
}
// FILE: 1.kt
interface KotlinInterface : JavaInterface {
@<!DEPRECATION!>JvmDefault<!>
override fun test() {}
<!NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT!>override fun testForNonDefault()<!> {}
override fun testAbstract() {}
}
interface KotlinInterface2 : JavaInterface, KotlinInterface {
@<!DEPRECATION!>JvmDefault<!>
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}
interface KotlinInterfaceForIndirect : JavaInterface {
}
interface KotlinInterfaceIndirectInheritance : KotlinInterfaceForIndirect {
@<!DEPRECATION!>JvmDefault<!>
override fun test() {}
<!NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT!>override fun testForNonDefault()<!> {}
override fun testAbstract() {}
}
open class KotlinClass : JavaInterface {
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}
interface KotlinInterfaceX {
fun test() {}
fun testForNonDefault() {}
fun testAbstract() {}
}
interface KotlinInterfaceManySuper: JavaInterface, KotlinInterfaceX {
@<!DEPRECATION!>JvmDefault<!>
override fun test() {}
<!NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT!>override fun testForNonDefault()<!> {}
override fun testAbstract() {}
}
@@ -1,74 +0,0 @@
package
public interface JavaInterface {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): kotlin.Unit
public abstract fun testAbstract(): kotlin.Unit
public open fun testForNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class KotlinClass : JavaInterface {
public constructor KotlinClass()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ fun testAbstract(): kotlin.Unit
public open override /*1*/ fun testForNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterface : JavaInterface {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ fun testAbstract(): kotlin.Unit
public open override /*1*/ fun testForNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterface2 : JavaInterface, KotlinInterface {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ fun testAbstract(): kotlin.Unit
public open override /*2*/ fun testForNonDefault(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterfaceForIndirect : JavaInterface {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun testAbstract(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun testForNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterfaceIndirectInheritance : KotlinInterfaceForIndirect {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ fun testAbstract(): kotlin.Unit
public open override /*1*/ fun testForNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterfaceManySuper : JavaInterface, KotlinInterfaceX {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ fun testAbstract(): kotlin.Unit
public open override /*2*/ fun testForNonDefault(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterfaceX {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): kotlin.Unit
public open fun testAbstract(): kotlin.Unit
public open fun testForNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,70 +0,0 @@
// FIR_IDENTICAL
// !JVM_DEFAULT_MODE: all
// !JVM_TARGET: 1.8
// FILE: JavaInterface.java
public interface JavaInterface {
default void test() {}
default void testForNonDefault() {}
void testAbstract();
}
// FILE: 1.kt
interface KotlinInterface : JavaInterface {
@<!DEPRECATION!>JvmDefault<!>
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}
interface KotlinInterface2 : JavaInterface, KotlinInterface {
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}
interface KotlinInterfaceForIndirect : JavaInterface {
}
interface KotlinInterfaceIndirectInheritance : KotlinInterfaceForIndirect {
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}
open class KotlinClass : JavaInterface {
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}
interface KotlinInterfaceX {
fun test() {}
fun testForNonDefault() {}
fun testAbstract() {}
}
interface KotlinInterfaceManySuper: JavaInterface, KotlinInterfaceX {
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}
@@ -1,74 +0,0 @@
package
public interface JavaInterface {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): kotlin.Unit
public abstract fun testAbstract(): kotlin.Unit
public open fun testForNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class KotlinClass : JavaInterface {
public constructor KotlinClass()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ fun testAbstract(): kotlin.Unit
public open override /*1*/ fun testForNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterface : JavaInterface {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ fun testAbstract(): kotlin.Unit
public open override /*1*/ fun testForNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterface2 : JavaInterface, KotlinInterface {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ fun testAbstract(): kotlin.Unit
public open override /*2*/ fun testForNonDefault(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterfaceForIndirect : JavaInterface {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun testAbstract(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun testForNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterfaceIndirectInheritance : KotlinInterfaceForIndirect {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ fun testAbstract(): kotlin.Unit
public open override /*1*/ fun testForNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterfaceManySuper : JavaInterface, KotlinInterfaceX {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ fun testAbstract(): kotlin.Unit
public open override /*2*/ fun testForNonDefault(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterfaceX {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): kotlin.Unit
public open fun testAbstract(): kotlin.Unit
public open fun testForNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,35 +0,0 @@
// !JVM_TARGET: 1.8
interface A {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
fun test() {
}
}
interface B : A {
}
open class Foo : B
open class Foo2 : B, A
open class FooNoError : B {
override fun test() {
}
}
open class Foo2NoError : B, A {
override fun test() {
}
}
class Bar : Foo()
class Bar2 : Foo(), A
class Bar3 : Foo(), B
open class BarWithJvmDefault : B {
<!JVM_DEFAULT_NOT_IN_INTERFACE!>@<!DEPRECATION!>JvmDefault<!><!>
override fun test() {
}
}
class BarWithJvmDefaultSuper: BarWithJvmDefault()
@@ -1,35 +0,0 @@
// !JVM_TARGET: 1.8
interface A {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
fun test()<!> {
}
}
interface B : A {
}
open class Foo : B
open class Foo2 : B, A
open class FooNoError : B {
override fun test() {
}
}
open class Foo2NoError : B, A {
override fun test() {
}
}
class Bar : Foo()
class Bar2 : Foo(), A
class Bar3 : Foo(), B
open class BarWithJvmDefault : B {
<!JVM_DEFAULT_NOT_IN_INTERFACE!>@<!DEPRECATION!>JvmDefault<!><!>
override fun test() {
}
}
class BarWithJvmDefaultSuper: BarWithJvmDefault()
@@ -1,87 +0,0 @@
package
public interface A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface B : A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Bar : Foo {
public constructor Bar()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Bar2 : Foo, A {
public constructor Bar2()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Bar3 : Foo, B {
public constructor Bar3()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class BarWithJvmDefault : B {
public constructor BarWithJvmDefault()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class BarWithJvmDefaultSuper : BarWithJvmDefault {
public constructor BarWithJvmDefaultSuper()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Foo : B {
public constructor Foo()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Foo2 : B, A {
public constructor Foo2()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Foo2NoError : B, A {
public constructor Foo2NoError()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class FooNoError : B {
public constructor FooNoError()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,184 +1,68 @@
// FIR_IDENTICAL
// !JVM_DEFAULT_MODE: enable
// !JVM_DEFAULT_MODE: all
// !JVM_TARGET: 1.8
public interface KInterface {
@<!DEPRECATION!>JvmDefault<!>
fun test(): String {
return "OK";
}
@<!DEPRECATION!>JvmDefault<!>
val property: String
get() = "OK"
fun testNonDefault(): String {
return "OK";
}
val propertyNonDefault: String
get() = "OK"
}
// FILE: 1.kt
interface KotlinInterface : KInterface {
@<!DEPRECATION!>JvmDefault<!>
fun fooo() {
super.test()
super.property
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinInterface.test()
super@KotlinInterface.property
super@KotlinInterface.testNonDefault()
super@KotlinInterface.propertyNonDefault
}
}
}
@<!DEPRECATION!>JvmDefault<!>
val propertyy: String
get() {
super.test()
super.property
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinInterface.test()
super@KotlinInterface.property
super@KotlinInterface.testNonDefault()
super@KotlinInterface.propertyNonDefault
}
}
return ""
}
fun foooNonDefault() {
super.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>test<!>()
super.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>property<!>
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinInterface.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>test<!>()
super@KotlinInterface.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>property<!>
super@KotlinInterface.testNonDefault()
super@KotlinInterface.propertyNonDefault
}
}
}
val propertyyNonDefault: String
get() {
super.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>test<!>()
super.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>property<!>
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinInterface.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>test<!>()
super@KotlinInterface.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>property<!>
super@KotlinInterface.testNonDefault()
super@KotlinInterface.propertyNonDefault
}
}
return ""
}
}
interface KotlinInterfaceIndirectInheritance : KotlinInterface {
@<!DEPRECATION!>JvmDefault<!>
fun foooo() {
super.test()
super.property
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinInterfaceIndirectInheritance.test()
super@KotlinInterfaceIndirectInheritance.property
super@KotlinInterfaceIndirectInheritance.testNonDefault()
super@KotlinInterfaceIndirectInheritance.propertyNonDefault
}
}
}
@<!DEPRECATION!>JvmDefault<!>
val propertyyy: String
get() {
super.test()
super.property
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinInterfaceIndirectInheritance.test()
super@KotlinInterfaceIndirectInheritance.property
super@KotlinInterfaceIndirectInheritance.testNonDefault()
super@KotlinInterfaceIndirectInheritance.propertyNonDefault
}
}
return ""
}
fun fooooNonDefault() {
super.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>test<!>()
super.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>property<!>
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinInterfaceIndirectInheritance.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>test<!>()
super@KotlinInterfaceIndirectInheritance.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>property<!>
super@KotlinInterfaceIndirectInheritance.testNonDefault()
super@KotlinInterfaceIndirectInheritance.propertyNonDefault
}
}
}
val propertyyyNonDefault: String
get() {
super.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>test<!>()
super.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>property<!>
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinInterfaceIndirectInheritance.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>test<!>()
super@KotlinInterfaceIndirectInheritance.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>property<!>
super@KotlinInterfaceIndirectInheritance.testNonDefault()
super@KotlinInterfaceIndirectInheritance.propertyNonDefault
}
}
return ""
@@ -190,16 +74,10 @@ open class KotlinClass : KInterface {
super.test()
super.property
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinClass.test()
super@KotlinClass.property
super@KotlinClass.testNonDefault()
super@KotlinClass.propertyNonDefault
}
}
}
@@ -209,16 +87,10 @@ open class KotlinClass : KInterface {
super.test()
super.property
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinClass.test()
super@KotlinClass.property
super@KotlinClass.testNonDefault()
super@KotlinClass.propertyNonDefault
}
}
@@ -231,16 +103,10 @@ class KotlinClassIndirectInheritance : KotlinClass() {
super.test()
super.property
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinClassIndirectInheritance.test()
super@KotlinClassIndirectInheritance.property
super@KotlinClassIndirectInheritance.testNonDefault()
super@KotlinClassIndirectInheritance.propertyNonDefault
}
}
@@ -251,16 +117,10 @@ class KotlinClassIndirectInheritance : KotlinClass() {
super.test()
super.property
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinClassIndirectInheritance.test()
super@KotlinClassIndirectInheritance.property
super@KotlinClassIndirectInheritance.testNonDefault()
super@KotlinClassIndirectInheritance.propertyNonDefault
}
}
return ""
@@ -272,16 +132,10 @@ class KotlinClassIndirectInheritance2 : KotlinInterfaceIndirectInheritance {
super.test()
super.property
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinClassIndirectInheritance2.test()
super@KotlinClassIndirectInheritance2.property
super@KotlinClassIndirectInheritance2.testNonDefault()
super@KotlinClassIndirectInheritance2.propertyNonDefault
}
}
}
@@ -291,16 +145,10 @@ class KotlinClassIndirectInheritance2 : KotlinInterfaceIndirectInheritance {
super.test()
super.property
super.testNonDefault()
super.propertyNonDefault
object {
fun run () {
super@KotlinClassIndirectInheritance2.test()
super@KotlinClassIndirectInheritance2.property
super@KotlinClassIndirectInheritance2.testNonDefault()
super@KotlinClassIndirectInheritance2.propertyNonDefault
}
}
return ""
@@ -310,14 +158,9 @@ class KotlinClassIndirectInheritance2 : KotlinInterfaceIndirectInheritance {
fun test() {
KotlinClass().test()
KotlinClass().property
KotlinClass().propertyNonDefault
KotlinClassIndirectInheritance2().test()
KotlinClassIndirectInheritance2().testNonDefault()
KotlinClassIndirectInheritance2().propertyyy
KotlinClassIndirectInheritance2().propertyyyNonDefault
KotlinClass().test()
KotlinClass().testNonDefault()
KotlinClass().property
KotlinClass().propertyNonDefault
}
@@ -3,92 +3,71 @@ package
public fun test(): kotlin.Unit
public interface KInterface {
@kotlin.jvm.JvmDefault public open val property: kotlin.String
public open val propertyNonDefault: kotlin.String
public open val property: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open fun test(): kotlin.String
public open fun testNonDefault(): kotlin.String
public open fun test(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class KotlinClass : KInterface {
public constructor KotlinClass()
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ val property: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyNonDefault: kotlin.String
public open override /*1*/ /*fake_override*/ val property: kotlin.String
public final val xproperty: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.String
public open override /*1*/ /*fake_override*/ fun testNonDefault(): kotlin.String
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class KotlinClassIndirectInheritance : KotlinClass {
public constructor KotlinClassIndirectInheritance()
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ val property: kotlin.String
public open override /*1*/ /*fake_override*/ val property: kotlin.String
public final val property2: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyNonDefault: kotlin.String
public final override /*1*/ /*fake_override*/ val xproperty: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit
public final fun foo2(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.String
public open override /*1*/ /*fake_override*/ fun testNonDefault(): kotlin.String
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class KotlinClassIndirectInheritance2 : KotlinInterfaceIndirectInheritance {
public constructor KotlinClassIndirectInheritance2()
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ val property: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyNonDefault: kotlin.String
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ val propertyy: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyyNonDefault: kotlin.String
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ val propertyyy: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyyyNonDefault: kotlin.String
public open override /*1*/ /*fake_override*/ val property: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyy: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyyy: kotlin.String
public final val xproperty: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun fooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foooNonDefault(): kotlin.Unit
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun foooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun fooooNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun fooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.String
public open override /*1*/ /*fake_override*/ fun testNonDefault(): kotlin.String
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterface : KInterface {
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ val property: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyNonDefault: kotlin.String
@kotlin.jvm.JvmDefault public open val propertyy: kotlin.String
public open val propertyyNonDefault: kotlin.String
public open override /*1*/ /*fake_override*/ val property: kotlin.String
public open val propertyy: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.jvm.JvmDefault public open fun fooo(): kotlin.Unit
public open fun foooNonDefault(): kotlin.Unit
public open fun fooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.String
public open override /*1*/ /*fake_override*/ fun testNonDefault(): kotlin.String
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterfaceIndirectInheritance : KotlinInterface {
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ val property: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyNonDefault: kotlin.String
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ val propertyy: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyyNonDefault: kotlin.String
@kotlin.jvm.JvmDefault public open val propertyyy: kotlin.String
public open val propertyyyNonDefault: kotlin.String
public open override /*1*/ /*fake_override*/ val property: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyy: kotlin.String
public open val propertyyy: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun fooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foooNonDefault(): kotlin.Unit
@kotlin.jvm.JvmDefault public open fun foooo(): kotlin.Unit
public open fun fooooNonDefault(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun fooo(): kotlin.Unit
public open fun foooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.String
public open override /*1*/ /*fake_override*/ fun testNonDefault(): kotlin.String
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,5 +1,5 @@
// FIR_IDENTICAL
// !JVM_DEFAULT_MODE: enable
// !JVM_DEFAULT_MODE: all
// !JVM_TARGET: 1.8
// FILE: JavaInterface.java
@@ -16,7 +16,6 @@ public interface JavaInterface {
// FILE: 1.kt
interface KotlinInterface : JavaInterface {
@<!DEPRECATION!>JvmDefault<!>
fun fooo() {
super.test()
@@ -27,7 +26,6 @@ interface KotlinInterface : JavaInterface {
}
}
@<!DEPRECATION!>JvmDefault<!>
val propertyy: String
get() {
super.test()
@@ -40,14 +38,12 @@ interface KotlinInterface : JavaInterface {
return ""
}
@<!DEPRECATION!>JvmDefault<!>
override fun testOverride(): String {
return "OK";
}
}
interface KotlinInterfaceIndirectInheritance : KotlinInterface {
@<!DEPRECATION!>JvmDefault<!>
fun foooo() {
super.test()
@@ -58,7 +54,6 @@ interface KotlinInterfaceIndirectInheritance : KotlinInterface {
}
}
@<!DEPRECATION!>JvmDefault<!>
val propertyyy: String
get() {
super.test()
@@ -37,36 +37,37 @@ public final class KotlinClassIndirectInheritance : KotlinClass {
public final class KotlinClassIndirectInheritance2 : KotlinInterfaceIndirectInheritance {
public constructor KotlinClassIndirectInheritance2()
public final val property: kotlin.String
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ val propertyy: kotlin.String
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ val propertyyy: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyy: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyyy: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun fooo(): kotlin.Unit
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun foooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun fooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String
public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterface : JavaInterface {
@kotlin.jvm.JvmDefault public open val propertyy: kotlin.String
public open val propertyy: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.jvm.JvmDefault public open fun fooo(): kotlin.Unit
public open fun fooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
@kotlin.jvm.JvmDefault public open override /*1*/ fun testOverride(): kotlin.String
public open override /*1*/ fun testOverride(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterfaceIndirectInheritance : KotlinInterface {
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ val propertyy: kotlin.String
@kotlin.jvm.JvmDefault public open val propertyyy: kotlin.String
public open override /*1*/ /*fake_override*/ val propertyy: kotlin.String
public open val propertyyy: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun fooo(): kotlin.Unit
@kotlin.jvm.JvmDefault public open fun foooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun fooo(): kotlin.Unit
public open fun foooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String
public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,29 +0,0 @@
// !JVM_TARGET: 1.8
interface B {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
fun test() {}
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
abstract fun test2(s: String = "")
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
abstract fun test3()
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
abstract val prop: String
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
abstract val prop2: String
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
val prop3: String
get() = ""
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
var prop4: String
get() = ""
set(value) {}
}
@@ -1,29 +0,0 @@
// !JVM_TARGET: 1.8
interface B {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
fun test()<!> {}
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
abstract fun test2(s: String = "")<!>
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
abstract fun test3()<!>
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
abstract val prop: String<!>
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
abstract val prop2: String<!>
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
val prop3: String<!>
get() = ""
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
var prop4: String<!>
get() = ""
set(value) {}
}
@@ -1,14 +0,0 @@
package
public interface B {
@kotlin.jvm.JvmDefault public abstract val prop: kotlin.String
@kotlin.jvm.JvmDefault public abstract val prop2: kotlin.String
@kotlin.jvm.JvmDefault public open val prop3: kotlin.String
@kotlin.jvm.JvmDefault public open var prop4: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open fun test(): kotlin.Unit
@kotlin.jvm.JvmDefault public abstract fun test2(/*0*/ s: kotlin.String = ...): kotlin.Unit
@kotlin.jvm.JvmDefault public abstract fun test3(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,23 +0,0 @@
// FIR_IDENTICAL
// !JVM_TARGET: 1.8
abstract class A {
<!JVM_DEFAULT_NOT_IN_INTERFACE!>@<!DEPRECATION!>JvmDefault<!><!>
fun test() {}
<!JVM_DEFAULT_NOT_IN_INTERFACE!>@<!DEPRECATION!>JvmDefault<!><!>
abstract fun test2(s: String = "")
<!JVM_DEFAULT_NOT_IN_INTERFACE!>@<!DEPRECATION!>JvmDefault<!><!>
abstract fun test3()
}
object B {
<!JVM_DEFAULT_NOT_IN_INTERFACE!>@<!DEPRECATION!>JvmDefault<!><!>
fun test() {}
<!JVM_DEFAULT_NOT_IN_INTERFACE!>@<!DEPRECATION!>JvmDefault<!><!>
fun test2(s: String = "") {}
}
@@ -1,20 +0,0 @@
package
public abstract class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public final fun test(): kotlin.Unit
@kotlin.jvm.JvmDefault public abstract fun test2(/*0*/ s: kotlin.String = ...): kotlin.Unit
@kotlin.jvm.JvmDefault public abstract fun test3(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public object B {
private constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public final fun test(): kotlin.Unit
@kotlin.jvm.JvmDefault public final fun test2(/*0*/ s: kotlin.String = ...): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,15 +0,0 @@
// FIR_IDENTICAL
// !JVM_TARGET: 1.8
// !JVM_DEFAULT_MODE: enable
interface B {
@<!DEPRECATION!>JvmDefault<!>
val prop1: String
<!WRONG_ANNOTATION_TARGET!>@<!DEPRECATION!>JvmDefault<!><!> get() = ""
var prop2: String
<!WRONG_ANNOTATION_TARGET!>@<!DEPRECATION!>JvmDefault<!><!> get() = ""
<!WRONG_ANNOTATION_TARGET!>@<!DEPRECATION!>JvmDefault<!><!> set(value) {}
}
@@ -1,9 +0,0 @@
package
public interface B {
@kotlin.jvm.JvmDefault @get:kotlin.jvm.JvmDefault public open val prop1: kotlin.String
@get:kotlin.jvm.JvmDefault @set:kotlin.jvm.JvmDefault public open var prop2: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,32 +0,0 @@
// FIR_IDENTICAL
// !JVM_TARGET: 1.8
// !JVM_DEFAULT_MODE: enable
interface A {
@<!DEPRECATION!>JvmDefault<!>
fun test() {}
}
interface Abstract : A {
<!JVM_DEFAULT_REQUIRED_FOR_OVERRIDE!>override fun test()<!>
}
interface ANonDefault {
fun test() {}
}
interface B: A {
<!JVM_DEFAULT_REQUIRED_FOR_OVERRIDE!>override fun test()<!> {}
}
interface C: ANonDefault, A {
<!JVM_DEFAULT_REQUIRED_FOR_OVERRIDE!>override fun test()<!> {}
}
interface D: A, ANonDefault {
<!JVM_DEFAULT_REQUIRED_FOR_OVERRIDE!>override fun test()<!> {}
}
class Foo : A {
override fun test() {}
}
@@ -1,51 +0,0 @@
package
public interface A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface ANonDefault {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Abstract : A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface B : A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface C : ANonDefault, A {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface D : A, ANonDefault {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Foo : A {
public constructor Foo()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,32 +0,0 @@
// !JVM_TARGET: 1.8
// !JVM_DEFAULT_MODE: enable
interface A {
@<!DEPRECATION!>JvmDefault<!>
val test: String
get() = "OK"
}
interface Abstract : A {
override val test: String
}
interface ANonDefault {
val test: String
get() = "ANonDefault"
}
interface B: A {
override val test: String
get() = "B"
}
interface C: ANonDefault, A {
override val test: String
get() = "C"
}
interface D: A, ANonDefault {
override val test: String
get() = "C"
}
@@ -1,32 +0,0 @@
// !JVM_TARGET: 1.8
// !JVM_DEFAULT_MODE: enable
interface A {
@<!DEPRECATION!>JvmDefault<!>
val test: String
get() = "OK"
}
interface Abstract : A {
<!JVM_DEFAULT_REQUIRED_FOR_OVERRIDE!>override val test: String<!>
}
interface ANonDefault {
val test: String
get() = "ANonDefault"
}
interface B: A {
<!JVM_DEFAULT_REQUIRED_FOR_OVERRIDE!>override val test: String<!>
get() = "B"
}
interface C: ANonDefault, A {
<!JVM_DEFAULT_REQUIRED_FOR_OVERRIDE!>override val test: String<!>
get() = "C"
}
interface D: A, ANonDefault {
<!JVM_DEFAULT_REQUIRED_FOR_OVERRIDE!>override val test: String<!>
get() = "C"
}
@@ -1,43 +0,0 @@
package
public interface A {
@kotlin.jvm.JvmDefault public open val test: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface ANonDefault {
public open val test: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Abstract : A {
public abstract override /*1*/ val test: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface B : A {
public open override /*1*/ val test: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface C : ANonDefault, A {
public open override /*2*/ val test: kotlin.String
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface D : A, ANonDefault {
public open override /*2*/ val test: kotlin.String
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,63 +0,0 @@
// !JVM_TARGET: 1.8
// !LANGUAGE: -QualifiedSupertypeMayBeExtendedByOtherSupertype
// FILE: 1.kt
interface A {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
fun test() {
}
}
// FILE: 2.kt
interface B : A {
}
interface C : B {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>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()
<!AMBIGUOUS_SUPER!>super<!>.test()
}
}
class ManySupers2: Foo2(), C {
fun foo() {
super<Foo2>.test()
super<C>.test()
<!AMBIGUOUS_SUPER!>super<!>.test()
}
}
<!MANY_IMPL_MEMBER_NOT_IMPLEMENTED!>class ManySupers3<!>: Bar2(), C {
fun foo() {
super<Bar2>.test()
super<C>.test()
<!AMBIGUOUS_SUPER!>super<!>.test()
}
}
@@ -1,63 +0,0 @@
// !JVM_TARGET: 1.8
// !LANGUAGE: -QualifiedSupertypeMayBeExtendedByOtherSupertype
// FILE: 1.kt
interface A {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
fun test()<!> {
}
}
// FILE: 2.kt
interface B : A {
}
interface C : B {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>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()
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>test<!>()
}
}
class ManySupers2: Foo2(), C {
fun foo() {
super<Foo2>.test()
super<C>.test()
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>test<!>()
}
}
<!MANY_IMPL_MEMBER_NOT_IMPLEMENTED!>class ManySupers3<!>: Bar2(), C {
fun foo() {
super<Bar2>.test()
super<C>.test()
<!AMBIGUOUS_SUPER!>super<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>test<!>()
}
}
@@ -1,81 +0,0 @@
package
public interface A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface B : A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Bar : Foo2 {
public constructor Bar()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Bar2 : Bar {
public constructor Bar2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface C : B {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Foo : B {
public constructor Foo()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Foo2 : B {
public constructor Foo2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class ManySupers : Foo2, B {
public constructor ManySupers()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class ManySupers2 : Foo2, C {
public constructor ManySupers2()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class ManySupers3 : Bar2, C {
public constructor ManySupers3()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,32 +0,0 @@
// !JVM_TARGET: 1.8
interface A {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
fun test() {
}
}
interface B{
fun test() {
}
}
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface AB<!>: A, B
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface BA<!>: B, A
interface C : A, B {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
override fun test() {
super<B>.test()
super<A>.test()
}
}
interface D : B, A {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
override fun test() {
super<B>.test()
super<A>.test()
}
}
@@ -1,32 +0,0 @@
// !JVM_TARGET: 1.8
interface A {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
fun test()<!> {
}
}
interface B{
fun test() {
}
}
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface AB<!>: A, B
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface BA<!>: B, A
interface C : A, B {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
override fun test()<!> {
super<B>.test()
super<A>.test()
}
}
interface D : B, A {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
override fun test()<!> {
super<B>.test()
super<A>.test()
}
}
@@ -1,43 +0,0 @@
package
public interface A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface AB : A, B {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface B {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface BA : B, A {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface C : A, B {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface D : B, A {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,32 +0,0 @@
// !JVM_TARGET: 1.8
interface A {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
fun test()
}
interface B{
fun test() {
}
}
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface AB<!>: A, B
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface BA<!>: B, A
class C : A, B {
override fun test() {
super<B>.test()
}
}
class D : B, A {
override fun test() {
super<B>.test()
}
}
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class E<!>: B, A {
fun foo() {
super<B>.test()
}
}
@@ -1,32 +0,0 @@
// !JVM_TARGET: 1.8
interface A {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
fun test()<!>
}
interface B{
fun test() {
}
}
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface AB<!>: A, B
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface BA<!>: B, A
class C : A, B {
override fun test() {
super<B>.test()
}
}
class D : B, A {
override fun test() {
super<B>.test()
}
}
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class E<!>: B, A {
fun foo() {
super<B>.test()
}
}
@@ -1,54 +0,0 @@
package
public interface A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public abstract fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface AB : A, B {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface B {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface BA : B, A {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class C : A, B {
public constructor C()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class D : B, A {
public constructor D()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class E : B, A {
public constructor E()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,31 +0,0 @@
// !JVM_TARGET: 1.8
interface A {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!><!>
fun test() {
}
}
interface B{
fun test()
}
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface AB<!> : A, B
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface BA<!> : B, A
class C : A, B {
override fun test() {
super<A>.test()
}
}
class D : B, A {
override fun test() {
super<A>.test()
}
}
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class E<!>: B, A {
fun foo() {
super<A>.test()
}
}
@@ -1,31 +0,0 @@
// !JVM_TARGET: 1.8
interface A {
<!JVM_DEFAULT_IN_DECLARATION!>@<!DEPRECATION!>JvmDefault<!>
fun test()<!> {
}
}
interface B{
fun test()
}
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface AB<!> : A, B
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>interface BA<!> : B, A
class C : A, B {
override fun test() {
super<A>.test()
}
}
class D : B, A {
override fun test() {
super<A>.test()
}
}
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class E<!>: B, A {
fun foo() {
super<A>.test()
}
}
@@ -1,54 +0,0 @@
package
public interface A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface AB : A, B {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface B {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface BA : B, A {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class C : A, B {
public constructor C()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class D : B, A {
public constructor D()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class E : B, A {
public constructor E()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,30 +0,0 @@
// FIR_IDENTICAL
// !JVM_TARGET: 1.6
interface B {
<!JVM_DEFAULT_IN_JVM6_TARGET!>@<!DEPRECATION!>JvmDefault<!><!>
fun test() {}
<!JVM_DEFAULT_IN_JVM6_TARGET!>@<!DEPRECATION!>JvmDefault<!><!>
abstract fun test2(s: String = "")
<!JVM_DEFAULT_IN_JVM6_TARGET!>@<!DEPRECATION!>JvmDefault<!><!>
abstract fun test3()
<!JVM_DEFAULT_IN_JVM6_TARGET!>@<!DEPRECATION!>JvmDefault<!><!>
abstract val prop: String
<!JVM_DEFAULT_IN_JVM6_TARGET!>@<!DEPRECATION!>JvmDefault<!><!>
abstract val prop2: String
<!JVM_DEFAULT_IN_JVM6_TARGET!>@<!DEPRECATION!>JvmDefault<!><!>
val prop3: String
get() = ""
<!JVM_DEFAULT_IN_JVM6_TARGET!>@<!DEPRECATION!>JvmDefault<!><!>
var prop4: String
get() = ""
set(value) {}
}
@@ -1,14 +0,0 @@
package
public interface B {
@kotlin.jvm.JvmDefault public abstract val prop: kotlin.String
@kotlin.jvm.JvmDefault public abstract val prop2: kotlin.String
@kotlin.jvm.JvmDefault public open val prop3: kotlin.String
@kotlin.jvm.JvmDefault public open var prop4: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open fun test(): kotlin.Unit
@kotlin.jvm.JvmDefault public abstract fun test2(/*0*/ s: kotlin.String = ...): kotlin.Unit
@kotlin.jvm.JvmDefault public abstract fun test3(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,31 +0,0 @@
// FIR_IDENTICAL
// !JVM_TARGET: 1.8
// !JVM_DEFAULT_MODE: enable
interface B {
@<!DEPRECATION!>JvmDefault<!>
fun test() {}
@<!DEPRECATION!>JvmDefault<!>
abstract fun test2(s: String = "")
@<!DEPRECATION!>JvmDefault<!>
abstract fun test3()
@<!DEPRECATION!>JvmDefault<!>
abstract val prop: String
@<!DEPRECATION!>JvmDefault<!>
abstract val prop2: String
@<!DEPRECATION!>JvmDefault<!>
val prop3: String
get() = ""
@<!DEPRECATION!>JvmDefault<!>
var prop4: String
get() = ""
set(value) {}
}
@@ -1,14 +0,0 @@
package
public interface B {
@kotlin.jvm.JvmDefault public abstract val prop: kotlin.String
@kotlin.jvm.JvmDefault public abstract val prop2: kotlin.String
@kotlin.jvm.JvmDefault public open val prop3: kotlin.String
@kotlin.jvm.JvmDefault public open var prop4: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.jvm.JvmDefault public open fun test(): kotlin.Unit
@kotlin.jvm.JvmDefault public abstract fun test2(/*0*/ s: kotlin.String = ...): kotlin.Unit
@kotlin.jvm.JvmDefault public abstract fun test3(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}