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
}
