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
    }
}
