494 * FieldModel*(UtfEntry name, Utf8Entry descriptor)
495 * | MethodModel*(UtfEntry name, Utf8Entry descriptor)
496 * | ModuleAttribute?(int flags, ModuleEntry moduleName, UtfEntry moduleVersion,
497 * List<ModuleRequireInfo> requires, List<ModuleOpenInfo> opens,
498 * List<ModuleExportInfo> exports, List<ModuleProvidesInfo> provides,
499 * List<ClassEntry> uses)
500 * | ModulePackagesAttribute?(List<PackageEntry> packages)
501 * | ModuleTargetAttribute?(Utf8Entry targetPlatform)
502 * | ModuleHashesAttribute?(Utf8Entry algorithm, List<HashInfo> hashes)
503 * | ModuleResolutionAttribute?(int resolutionFlags)
504 * | SourceFileAttribute?(Utf8Entry sourceFile)
505 * | SourceDebugExtensionsAttribute?(byte[] contents)
506 * | CompilationIDAttribute?(Utf8Entry compilationId)
507 * | SourceIDAttribute?(Utf8Entry sourceId)
508 * | NestHostAttribute?(ClassEntry nestHost)
509 * | NestMembersAttribute?(List<ClassEntry> nestMembers)
510 * | RecordAttribute?(List<RecordComponent> components)
511 * | EnclosingMethodAttribute?(ClassEntry className, NameAndTypeEntry method)
512 * | InnerClassesAttribute?(List<InnerClassInfo> classes)
513 * | PermittedSubclassesAttribute?(List<ClassEntry> permittedSubclasses)
514 * | DeclarationElement*
515 * }
516 *
517 * where {@code DeclarationElement} are the elements that are common to all declarations
518 * (classes, methods, fields) and so are factored out:
519 *
520 * {@snippet lang="text" :
521 * DeclarationElement =
522 * SignatureAttribute?(Utf8Entry signature)
523 * | SyntheticAttribute?()
524 * | DeprecatedAttribute?()
525 * | RuntimeInvisibleAnnotationsAttribute?(List<Annotation> annotations)
526 * | RuntimeVisibleAnnotationsAttribute?(List<Annotation> annotations)
527 * | CustomAttribute*
528 * | UnknownAttribute*
529 * }
530 *
531 * Fields and methods are models with their own elements. The elements of fields
532 * and methods are fairly simple; most of the complexity of methods lives in the
533 * {@link CodeModel} (which models the {@code Code} attribute
|
494 * FieldModel*(UtfEntry name, Utf8Entry descriptor)
495 * | MethodModel*(UtfEntry name, Utf8Entry descriptor)
496 * | ModuleAttribute?(int flags, ModuleEntry moduleName, UtfEntry moduleVersion,
497 * List<ModuleRequireInfo> requires, List<ModuleOpenInfo> opens,
498 * List<ModuleExportInfo> exports, List<ModuleProvidesInfo> provides,
499 * List<ClassEntry> uses)
500 * | ModulePackagesAttribute?(List<PackageEntry> packages)
501 * | ModuleTargetAttribute?(Utf8Entry targetPlatform)
502 * | ModuleHashesAttribute?(Utf8Entry algorithm, List<HashInfo> hashes)
503 * | ModuleResolutionAttribute?(int resolutionFlags)
504 * | SourceFileAttribute?(Utf8Entry sourceFile)
505 * | SourceDebugExtensionsAttribute?(byte[] contents)
506 * | CompilationIDAttribute?(Utf8Entry compilationId)
507 * | SourceIDAttribute?(Utf8Entry sourceId)
508 * | NestHostAttribute?(ClassEntry nestHost)
509 * | NestMembersAttribute?(List<ClassEntry> nestMembers)
510 * | RecordAttribute?(List<RecordComponent> components)
511 * | EnclosingMethodAttribute?(ClassEntry className, NameAndTypeEntry method)
512 * | InnerClassesAttribute?(List<InnerClassInfo> classes)
513 * | PermittedSubclassesAttribute?(List<ClassEntry> permittedSubclasses)
514 * | LoadableDescriptorsAttribute?(List<Utf8Entry> loadableDescriptors)
515 * | DeclarationElement*
516 * }
517 *
518 * where {@code DeclarationElement} are the elements that are common to all declarations
519 * (classes, methods, fields) and so are factored out:
520 *
521 * {@snippet lang="text" :
522 * DeclarationElement =
523 * SignatureAttribute?(Utf8Entry signature)
524 * | SyntheticAttribute?()
525 * | DeprecatedAttribute?()
526 * | RuntimeInvisibleAnnotationsAttribute?(List<Annotation> annotations)
527 * | RuntimeVisibleAnnotationsAttribute?(List<Annotation> annotations)
528 * | CustomAttribute*
529 * | UnknownAttribute*
530 * }
531 *
532 * Fields and methods are models with their own elements. The elements of fields
533 * and methods are fairly simple; most of the complexity of methods lives in the
534 * {@link CodeModel} (which models the {@code Code} attribute
|