package test

public final enum class Enum : jet.Enum<test.Enum> {
    private constructor Enum()
    public final override /*1*/ /*fake_override*/ fun name(): jet.String
    public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
    
    public class object <class-object-for-Enum> {
        private constructor <class-object-for-Enum>()
        public final /*synthesized*/ fun valueOf(/*0*/ value: jet.String): test.Enum
        public final /*synthesized*/ fun values(): jet.Array<test.Enum>
    }
    
    public enum entry A : test.Enum {
        private constructor A()
        public final override /*1*/ /*fake_override*/ fun name(): jet.String
        public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
        
        public class object <class-object-for-A> : test.Enum.A {
            private constructor <class-object-for-A>()
            public final override /*1*/ /*fake_override*/ fun name(): jet.String
            public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
        }
    }
    
    public enum entry B : test.Enum {
        private constructor B()
        public final override /*1*/ /*fake_override*/ fun name(): jet.String
        public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
        
        public class object <class-object-for-B> : test.Enum.B {
            private constructor <class-object-for-B>()
            public final override /*1*/ /*fake_override*/ fun name(): jet.String
            public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
        }
    }
    
    public enum entry C : test.Enum {
        private constructor C()
        public final override /*1*/ /*fake_override*/ fun name(): jet.String
        public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
        
        public class object <class-object-for-C> : test.Enum.C {
            private constructor <class-object-for-C>()
            public final override /*1*/ /*fake_override*/ fun name(): jet.String
            public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
        }
    }
    
    public open inner class Inner : java.lang.Object {
        public constructor Inner()
        public/*package*/ open fun bar(): jet.Unit
        public/*package*/ open fun valueOf(/*0*/ p0: jet.String?): jet.Unit
    }
    
    public open class Nested : java.lang.Object {
        public constructor Nested()
        public/*package*/ open fun foo(): jet.Unit
        public/*package*/ open fun values(): jet.Unit
    }
}
