package public open class GenericBaseClass { public constructor GenericBaseClass() public open fun ambiguous(/*0*/ x: T): T public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open fun foo(/*0*/ x: T): T public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface GenericBaseInterface { public open fun ambiguous(/*0*/ x: T): T public open fun bar(/*0*/ x: T): 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 public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public final class GenericDerivedClass : GenericBaseClass, GenericBaseInterface { public constructor GenericDerivedClass() public open override /*2*/ fun ambiguous(/*0*/ x: T): T public open override /*1*/ fun bar(/*0*/ x: T): T public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ fun foo(/*0*/ x: T): T public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } public final class MixedDerivedClass : GenericBaseClass, GenericBaseInterface { public constructor MixedDerivedClass() public open override /*1*/ fun ambiguous(/*0*/ x: T): T public open override /*1*/ fun ambiguous(/*0*/ x: kotlin.Int): kotlin.Int public open override /*1*/ fun bar(/*0*/ x: T): T public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ fun foo(/*0*/ x: kotlin.Int): kotlin.Int public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } public final class SpecializedDerivedClass : GenericBaseClass, GenericBaseInterface { public constructor SpecializedDerivedClass() public open override /*1*/ fun ambiguous(/*0*/ x: kotlin.Int): kotlin.Int public open override /*1*/ fun ambiguous(/*0*/ x: kotlin.String): kotlin.String public open override /*1*/ fun bar(/*0*/ x: kotlin.String): kotlin.String public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ fun foo(/*0*/ x: kotlin.Int): kotlin.Int public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String }