package

internal fun bar(): E
internal fun foo(): E

internal final enum class E : kotlin.Enum<E> {
    public enum entry E1 : E {
        private constructor E1()
        public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: E): kotlin.Int
        public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
        public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        public class object <class-object-for-E1> : E.E1 {
            private constructor <class-object-for-E1>()
            public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: E): kotlin.Int
            public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
            public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
        }
    }

    public enum entry E2 : E {
        private constructor E2()
        public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: E): kotlin.Int
        public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
        public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        public class object <class-object-for-E2> : E.E2 {
            private constructor <class-object-for-E2>()
            public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: E): kotlin.Int
            public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
            public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
        }
    }

    private constructor E()
    public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: E): kotlin.Int
    public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
    public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

    // Static members
    public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): E
    public final /*synthesized*/ fun values(): kotlin.Array<E>
}
