462 * FieldModel*(UtfEntry name, Utf8Entry descriptor)
463 * | MethodModel*(UtfEntry name, Utf8Entry descriptor)
464 * | ModuleAttribute?(int flags, ModuleEntry moduleName, UtfEntry moduleVersion,
465 * List<ModuleRequireInfo> requires, List<ModuleOpenInfo> opens,
466 * List<ModuleExportInfo> exports, List<ModuleProvidesInfo> provides,
467 * List<ClassEntry> uses)
468 * | ModulePackagesAttribute?(List<PackageEntry> packages)
469 * | ModuleTargetAttribute?(Utf8Entry targetPlatform)
470 * | ModuleHashesAttribute?(Utf8Entry algorithm, List<HashInfo> hashes)
471 * | ModuleResolutionAttribute?(int resolutionFlags)
472 * | SourceFileAttribute?(Utf8Entry sourceFile)
473 * | SourceDebugExtensionsAttribute?(byte[] contents)
474 * | CompilationIDAttribute?(Utf8Entry compilationId)
475 * | SourceIDAttribute?(Utf8Entry sourceId)
476 * | NestHostAttribute?(ClassEntry nestHost)
477 * | NestMembersAttribute?(List<ClassEntry> nestMembers)
478 * | RecordAttribute?(List<RecordComponent> components)
479 * | EnclosingMethodAttribute?(ClassEntry className, NameAndTypeEntry method)
480 * | InnerClassesAttribute?(List<InnerClassInfo> classes)
481 * | PermittedSubclassesAttribute?(List<ClassEntry> permittedSubclasses)
482 * | DeclarationElement*
483 * }
484 *
485 * where {@code DeclarationElement} are the elements that are common to all declarations
486 * (classes, methods, fields) and so are factored out:
487 *
488 * {@snippet lang="text" :
489 * DeclarationElement =
490 * SignatureAttribute?(Utf8Entry signature)
491 * | SyntheticAttribute?()
492 * | DeprecatedAttribute?()
493 * | RuntimeInvisibleAnnotationsAttribute?(List<Annotation> annotations)
494 * | RuntimeVisibleAnnotationsAttribute?(List<Annotation> annotations)
495 * | CustomAttribute*
496 * | UnknownAttribute*
497 * }
498 *
499 * Fields and methods are models with their own elements. The elements of fields
500 * and methods are fairly simple; most of the complexity of methods lives in the
501 * {@link CodeModel} (which models the {@code Code} attribute
|
462 * FieldModel*(UtfEntry name, Utf8Entry descriptor)
463 * | MethodModel*(UtfEntry name, Utf8Entry descriptor)
464 * | ModuleAttribute?(int flags, ModuleEntry moduleName, UtfEntry moduleVersion,
465 * List<ModuleRequireInfo> requires, List<ModuleOpenInfo> opens,
466 * List<ModuleExportInfo> exports, List<ModuleProvidesInfo> provides,
467 * List<ClassEntry> uses)
468 * | ModulePackagesAttribute?(List<PackageEntry> packages)
469 * | ModuleTargetAttribute?(Utf8Entry targetPlatform)
470 * | ModuleHashesAttribute?(Utf8Entry algorithm, List<HashInfo> hashes)
471 * | ModuleResolutionAttribute?(int resolutionFlags)
472 * | SourceFileAttribute?(Utf8Entry sourceFile)
473 * | SourceDebugExtensionsAttribute?(byte[] contents)
474 * | CompilationIDAttribute?(Utf8Entry compilationId)
475 * | SourceIDAttribute?(Utf8Entry sourceId)
476 * | NestHostAttribute?(ClassEntry nestHost)
477 * | NestMembersAttribute?(List<ClassEntry> nestMembers)
478 * | RecordAttribute?(List<RecordComponent> components)
479 * | EnclosingMethodAttribute?(ClassEntry className, NameAndTypeEntry method)
480 * | InnerClassesAttribute?(List<InnerClassInfo> classes)
481 * | PermittedSubclassesAttribute?(List<ClassEntry> permittedSubclasses)
482 * | LoadableDescriptorsAttribute?(List<Utf8Entry> loadableDescriptors)
483 * | DeclarationElement*
484 * }
485 *
486 * where {@code DeclarationElement} are the elements that are common to all declarations
487 * (classes, methods, fields) and so are factored out:
488 *
489 * {@snippet lang="text" :
490 * DeclarationElement =
491 * SignatureAttribute?(Utf8Entry signature)
492 * | SyntheticAttribute?()
493 * | DeprecatedAttribute?()
494 * | RuntimeInvisibleAnnotationsAttribute?(List<Annotation> annotations)
495 * | RuntimeVisibleAnnotationsAttribute?(List<Annotation> annotations)
496 * | CustomAttribute*
497 * | UnknownAttribute*
498 * }
499 *
500 * Fields and methods are models with their own elements. The elements of fields
501 * and methods are fairly simple; most of the complexity of methods lives in the
502 * {@link CodeModel} (which models the {@code Code} attribute
|