437 * FieldModel*(UtfEntry name, Utf8Entry descriptor)
438 * | MethodModel*(UtfEntry name, Utf8Entry descriptor)
439 * | ModuleAttribute?(int flags, ModuleEntry moduleName, UtfEntry moduleVersion,
440 * List<ModuleRequireInfo> requires, List<ModuleOpenInfo> opens,
441 * List<ModuleExportInfo> exports, List<ModuleProvidesInfo> provides,
442 * List<ClassEntry> uses)
443 * | ModulePackagesAttribute?(List<PackageEntry> packages)
444 * | ModuleTargetAttribute?(Utf8Entry targetPlatform)
445 * | ModuleHashesAttribute?(Utf8Entry algorithm, List<HashInfo> hashes)
446 * | ModuleResolutionAttribute?(int resolutionFlags)
447 * | SourceFileAttribute?(Utf8Entry sourceFile)
448 * | SourceDebugExtensionsAttribute?(byte[] contents)
449 * | CompilationIDAttribute?(Utf8Entry compilationId)
450 * | SourceIDAttribute?(Utf8Entry sourceId)
451 * | NestHostAttribute?(ClassEntry nestHost)
452 * | NestMembersAttribute?(List<ClassEntry> nestMembers)
453 * | RecordAttribute?(List<RecordComponent> components)
454 * | EnclosingMethodAttribute?(ClassEntry className, NameAndTypeEntry method)
455 * | InnerClassesAttribute?(List<InnerClassInfo> classes)
456 * | PermittedSubclassesAttribute?(List<ClassEntry> permittedSubclasses)
457 * | DeclarationElement*
458 * }
459 *<p>
460 * where {@code DeclarationElement} are the elements that are common to all declarations
461 * (classes, methods, fields) and so are factored out:
462 *
463 * {@snippet lang="text" :
464 * DeclarationElement =
465 * SignatureAttribute?(Utf8Entry signature)
466 * | SyntheticAttribute?()
467 * | DeprecatedAttribute?()
468 * | RuntimeInvisibleAnnotationsAttribute?(List<Annotation> annotations)
469 * | RuntimeVisibleAnnotationsAttribute?(List<Annotation> annotations)
470 * | CustomAttribute*
471 * | UnknownAttribute*
472 * }
473 *
474 * Fields and methods are models with their own elements. The elements of fields
475 * and methods are fairly simple; most of the complexity of methods lives in the
476 * {@link java.lang.classfile.CodeModel} (which models the {@code Code} attribute
|
437 * FieldModel*(UtfEntry name, Utf8Entry descriptor)
438 * | MethodModel*(UtfEntry name, Utf8Entry descriptor)
439 * | ModuleAttribute?(int flags, ModuleEntry moduleName, UtfEntry moduleVersion,
440 * List<ModuleRequireInfo> requires, List<ModuleOpenInfo> opens,
441 * List<ModuleExportInfo> exports, List<ModuleProvidesInfo> provides,
442 * List<ClassEntry> uses)
443 * | ModulePackagesAttribute?(List<PackageEntry> packages)
444 * | ModuleTargetAttribute?(Utf8Entry targetPlatform)
445 * | ModuleHashesAttribute?(Utf8Entry algorithm, List<HashInfo> hashes)
446 * | ModuleResolutionAttribute?(int resolutionFlags)
447 * | SourceFileAttribute?(Utf8Entry sourceFile)
448 * | SourceDebugExtensionsAttribute?(byte[] contents)
449 * | CompilationIDAttribute?(Utf8Entry compilationId)
450 * | SourceIDAttribute?(Utf8Entry sourceId)
451 * | NestHostAttribute?(ClassEntry nestHost)
452 * | NestMembersAttribute?(List<ClassEntry> nestMembers)
453 * | RecordAttribute?(List<RecordComponent> components)
454 * | EnclosingMethodAttribute?(ClassEntry className, NameAndTypeEntry method)
455 * | InnerClassesAttribute?(List<InnerClassInfo> classes)
456 * | PermittedSubclassesAttribute?(List<ClassEntry> permittedSubclasses)
457 * | PreloadAttribute?(List<ClassEntry> preloads)
458 * | DeclarationElement*
459 * }
460 *<p>
461 * where {@code DeclarationElement} are the elements that are common to all declarations
462 * (classes, methods, fields) and so are factored out:
463 *
464 * {@snippet lang="text" :
465 * DeclarationElement =
466 * SignatureAttribute?(Utf8Entry signature)
467 * | SyntheticAttribute?()
468 * | DeprecatedAttribute?()
469 * | RuntimeInvisibleAnnotationsAttribute?(List<Annotation> annotations)
470 * | RuntimeVisibleAnnotationsAttribute?(List<Annotation> annotations)
471 * | CustomAttribute*
472 * | UnknownAttribute*
473 * }
474 *
475 * Fields and methods are models with their own elements. The elements of fields
476 * and methods are fairly simple; most of the complexity of methods lives in the
477 * {@link java.lang.classfile.CodeModel} (which models the {@code Code} attribute
|