package

package j {

    public abstract class Super {
        public constructor Super()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        protected/*protected and package*/ abstract fun getName(): kotlin.String!
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public abstract fun setName(/*0*/ s: kotlin.String!): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }
}

package k {
    public fun test(/*0*/ s: j.Super): kotlin.Unit

    public abstract class Sub : j.Super {
        public constructor Sub()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        protected/*protected and package*/ abstract override /*1*/ /*fake_override*/ fun getName(): kotlin.String!
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public abstract override /*1*/ /*fake_override*/ fun setName(/*0*/ s: kotlin.String!): kotlin.Unit
        public final fun test(/*0*/ s: j.Super): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }
}
