package public interface AbstractEqualsHashCodeToString { public abstract override /*1*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public abstract override /*1*/ fun hashCode(): kotlin.Int public abstract override /*1*/ fun toString(): kotlin.String } public interface Allowed { 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 abstract data class Base { public constructor Base(/*0*/ x: kotlin.Int) public final val x: kotlin.Int public final operator /*synthesized*/ fun component1(): kotlin.Int public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ...): Base 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 final data class Complex : Allowed, NotAllowed { public constructor Complex(/*0*/ y: kotlin.Int) public final val y: kotlin.Int public final operator /*synthesized*/ fun component1(): kotlin.Int public final /*synthesized*/ fun copy(/*0*/ y: kotlin.Int = ...): Complex 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 final class Derived : Base { public constructor Derived() public final override /*1*/ /*fake_override*/ val x: kotlin.Int public final override /*1*/ /*fake_override*/ fun component1(): kotlin.Int public final override /*1*/ /*fake_override*/ fun copy(/*0*/ x: kotlin.Int = ...): Base 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 final data class ImplInterface : AbstractEqualsHashCodeToString { public constructor ImplInterface(/*0*/ s: kotlin.String) public final val s: kotlin.String public final operator /*synthesized*/ fun component1(): kotlin.String public final /*synthesized*/ fun copy(/*0*/ s: kotlin.String = ...): ImplInterface public abstract override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public abstract override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public abstract override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public final data class Nasty : Base { public constructor Nasty(/*0*/ z: kotlin.Int, /*1*/ y: kotlin.Int) public final override /*1*/ /*fake_override*/ val x: kotlin.Int public final val y: kotlin.Int public final val z: kotlin.Int public final override /*1*/ /*synthesized*/ fun component1(): kotlin.Int public final operator /*synthesized*/ fun component2(): kotlin.Int public final override /*1*/ /*fake_override*/ fun copy(/*0*/ x: kotlin.Int = ...): Base public final /*synthesized*/ fun copy(/*0*/ z: kotlin.Int = ..., /*1*/ y: kotlin.Int = ...): Nasty 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 open class NotAllowed { public constructor NotAllowed() 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 }