package test

public trait CustomAnnotation : java.lang.Object {
    
    public final annotation class MyAnnotation : jet.Annotation {
        public constructor MyAnnotation(/*0*/ value: test.CustomAnnotation.MyEnum)
        public abstract fun value(): test.CustomAnnotation.MyEnum
    }
    
    public final enum class MyEnum : jet.Enum<test.CustomAnnotation.MyEnum> {
        private constructor MyEnum()
        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-MyEnum> {
            private constructor <class-object-for-MyEnum>()
            public final /*synthesized*/ fun valueOf(/*0*/ value: jet.String): test.CustomAnnotation.MyEnum
            public final /*synthesized*/ fun values(): jet.Array<test.CustomAnnotation.MyEnum>
        }
        
        public enum entry ONE : test.CustomAnnotation.MyEnum {
            private constructor ONE()
            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-ONE> : test.CustomAnnotation.MyEnum.ONE {
                private constructor <class-object-for-ONE>()
                public final override /*1*/ /*fake_override*/ fun name(): jet.String
                public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
            }
        }
    }
    
    test.CustomAnnotation.MyAnnotation(value = MyEnum.ONE: test.CustomAnnotation.MyEnum) public open class MyTest : java.lang.Object {
        public constructor MyTest()
    }
}
