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