< prev index next >

src/java.base/share/classes/java/lang/classfile/ClassElement.java

Print this page

33  * {@link ClassTransform}.
34  * <p>
35  * {@link AccessFlags}, and {@link ClassFileVersion} are member elements of a
36  * class that appear exactly once during the traversal of a {@link ClassModel}.
37  * {@link Superclass} and {@link Interfaces} may be absent or appear at most
38  * once.  A {@link ClassBuilder} may provide an alternative superclass if it is
39  * not defined but required.
40  *
41  * @see ClassFileElement##membership Membership Elements
42  * @see MethodElement
43  * @see FieldElement
44  * @see CodeElement
45  * @sealedGraph
46  * @since 24
47  */
48 public sealed interface ClassElement extends ClassFileElement
49         permits AccessFlags, Superclass, Interfaces, ClassFileVersion,
50                 FieldModel, MethodModel,
51                 CustomAttribute, CompilationIDAttribute, DeprecatedAttribute,
52                 EnclosingMethodAttribute, InnerClassesAttribute,

53                 ModuleAttribute, ModuleHashesAttribute, ModuleMainClassAttribute,
54                 ModulePackagesAttribute, ModuleResolutionAttribute, ModuleTargetAttribute,
55                 NestHostAttribute, NestMembersAttribute, PermittedSubclassesAttribute,
56                 RecordAttribute,
57                 RuntimeInvisibleAnnotationsAttribute, RuntimeInvisibleTypeAnnotationsAttribute,
58                 RuntimeVisibleAnnotationsAttribute, RuntimeVisibleTypeAnnotationsAttribute,
59                 SignatureAttribute, SourceDebugExtensionAttribute,
60                 SourceFileAttribute, SourceIDAttribute, SyntheticAttribute, UnknownAttribute {
61 }

33  * {@link ClassTransform}.
34  * <p>
35  * {@link AccessFlags}, and {@link ClassFileVersion} are member elements of a
36  * class that appear exactly once during the traversal of a {@link ClassModel}.
37  * {@link Superclass} and {@link Interfaces} may be absent or appear at most
38  * once.  A {@link ClassBuilder} may provide an alternative superclass if it is
39  * not defined but required.
40  *
41  * @see ClassFileElement##membership Membership Elements
42  * @see MethodElement
43  * @see FieldElement
44  * @see CodeElement
45  * @sealedGraph
46  * @since 24
47  */
48 public sealed interface ClassElement extends ClassFileElement
49         permits AccessFlags, Superclass, Interfaces, ClassFileVersion,
50                 FieldModel, MethodModel,
51                 CustomAttribute, CompilationIDAttribute, DeprecatedAttribute,
52                 EnclosingMethodAttribute, InnerClassesAttribute,
53                 LoadableDescriptorsAttribute,
54                 ModuleAttribute, ModuleHashesAttribute, ModuleMainClassAttribute,
55                 ModulePackagesAttribute, ModuleResolutionAttribute, ModuleTargetAttribute,
56                 NestHostAttribute, NestMembersAttribute, PermittedSubclassesAttribute,
57                 RecordAttribute,
58                 RuntimeInvisibleAnnotationsAttribute, RuntimeInvisibleTypeAnnotationsAttribute,
59                 RuntimeVisibleAnnotationsAttribute, RuntimeVisibleTypeAnnotationsAttribute,
60                 SignatureAttribute, SourceDebugExtensionAttribute,
61                 SourceFileAttribute, SourceIDAttribute, SyntheticAttribute, UnknownAttribute {
62 }
< prev index next >