55 import java.lang.classfile.attribute.LocalVariableInfo;
56 import java.lang.classfile.attribute.LocalVariableTableAttribute;
57 import java.lang.classfile.attribute.LocalVariableTypeInfo;
58 import java.lang.classfile.attribute.LocalVariableTypeTableAttribute;
59 import java.lang.classfile.attribute.MethodParameterInfo;
60 import java.lang.classfile.attribute.MethodParametersAttribute;
61 import java.lang.classfile.attribute.ModuleAttribute;
62 import java.lang.classfile.attribute.ModuleExportInfo;
63 import java.lang.classfile.attribute.ModuleHashInfo;
64 import java.lang.classfile.attribute.ModuleHashesAttribute;
65 import java.lang.classfile.attribute.ModuleMainClassAttribute;
66 import java.lang.classfile.attribute.ModuleOpenInfo;
67 import java.lang.classfile.attribute.ModulePackagesAttribute;
68 import java.lang.classfile.attribute.ModuleProvideInfo;
69 import java.lang.classfile.attribute.ModuleRequireInfo;
70 import java.lang.classfile.attribute.ModuleResolutionAttribute;
71 import java.lang.classfile.attribute.ModuleTargetAttribute;
72 import java.lang.classfile.attribute.NestHostAttribute;
73 import java.lang.classfile.attribute.NestMembersAttribute;
74 import java.lang.classfile.attribute.PermittedSubclassesAttribute;
75 import java.lang.classfile.attribute.RecordAttribute;
76 import java.lang.classfile.attribute.RecordComponentInfo;
77 import java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute;
78 import java.lang.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute;
79 import java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute;
80 import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute;
81 import java.lang.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute;
82 import java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute;
83 import java.lang.classfile.attribute.SignatureAttribute;
84 import java.lang.classfile.attribute.SourceDebugExtensionAttribute;
85 import java.lang.classfile.attribute.SourceFileAttribute;
86 import java.lang.classfile.attribute.SourceIDAttribute;
87 import java.lang.classfile.attribute.StackMapTableAttribute;
88 import java.lang.classfile.attribute.StackMapFrameInfo;
89 import java.lang.classfile.attribute.SyntheticAttribute;
90 import java.lang.classfile.constantpool.ConstantValueEntry;
91 import java.lang.classfile.constantpool.ModuleEntry;
92 import java.lang.classfile.constantpool.NameAndTypeEntry;
93 import java.lang.classfile.constantpool.PackageEntry;
94 import java.lang.classfile.constantpool.Utf8Entry;
412 return resolutionFlags;
413 }
414 }
415
416 public static final class UnboundPermittedSubclassesAttribute
417 extends UnboundAttribute<PermittedSubclassesAttribute>
418 implements PermittedSubclassesAttribute {
419 private final List<ClassEntry> permittedSubclasses;
420
421 public UnboundPermittedSubclassesAttribute(List<ClassEntry> permittedSubclasses) {
422 super(Attributes.PERMITTED_SUBCLASSES);
423 this.permittedSubclasses = List.copyOf(permittedSubclasses);
424 }
425
426 @Override
427 public List<ClassEntry> permittedSubclasses() {
428 return permittedSubclasses;
429 }
430 }
431
432 public static final class UnboundNestMembersAttribute
433 extends UnboundAttribute<NestMembersAttribute>
434 implements NestMembersAttribute {
435 private final List<ClassEntry> memberEntries;
436
437 public UnboundNestMembersAttribute(List<ClassEntry> memberEntries) {
438 super(Attributes.NEST_MEMBERS);
439 this.memberEntries = List.copyOf(memberEntries);
440 }
441
442 @Override
443 public List<ClassEntry> nestMembers() {
444 return memberEntries;
445 }
446 }
447
448 public static final class UnboundNestHostAttribute
449 extends UnboundAttribute<NestHostAttribute>
450 implements NestHostAttribute {
451 private final ClassEntry hostEntry;
|
55 import java.lang.classfile.attribute.LocalVariableInfo;
56 import java.lang.classfile.attribute.LocalVariableTableAttribute;
57 import java.lang.classfile.attribute.LocalVariableTypeInfo;
58 import java.lang.classfile.attribute.LocalVariableTypeTableAttribute;
59 import java.lang.classfile.attribute.MethodParameterInfo;
60 import java.lang.classfile.attribute.MethodParametersAttribute;
61 import java.lang.classfile.attribute.ModuleAttribute;
62 import java.lang.classfile.attribute.ModuleExportInfo;
63 import java.lang.classfile.attribute.ModuleHashInfo;
64 import java.lang.classfile.attribute.ModuleHashesAttribute;
65 import java.lang.classfile.attribute.ModuleMainClassAttribute;
66 import java.lang.classfile.attribute.ModuleOpenInfo;
67 import java.lang.classfile.attribute.ModulePackagesAttribute;
68 import java.lang.classfile.attribute.ModuleProvideInfo;
69 import java.lang.classfile.attribute.ModuleRequireInfo;
70 import java.lang.classfile.attribute.ModuleResolutionAttribute;
71 import java.lang.classfile.attribute.ModuleTargetAttribute;
72 import java.lang.classfile.attribute.NestHostAttribute;
73 import java.lang.classfile.attribute.NestMembersAttribute;
74 import java.lang.classfile.attribute.PermittedSubclassesAttribute;
75 import java.lang.classfile.attribute.PreloadAttribute;
76 import java.lang.classfile.attribute.RecordAttribute;
77 import java.lang.classfile.attribute.RecordComponentInfo;
78 import java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute;
79 import java.lang.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute;
80 import java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute;
81 import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute;
82 import java.lang.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute;
83 import java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute;
84 import java.lang.classfile.attribute.SignatureAttribute;
85 import java.lang.classfile.attribute.SourceDebugExtensionAttribute;
86 import java.lang.classfile.attribute.SourceFileAttribute;
87 import java.lang.classfile.attribute.SourceIDAttribute;
88 import java.lang.classfile.attribute.StackMapTableAttribute;
89 import java.lang.classfile.attribute.StackMapFrameInfo;
90 import java.lang.classfile.attribute.SyntheticAttribute;
91 import java.lang.classfile.constantpool.ConstantValueEntry;
92 import java.lang.classfile.constantpool.ModuleEntry;
93 import java.lang.classfile.constantpool.NameAndTypeEntry;
94 import java.lang.classfile.constantpool.PackageEntry;
95 import java.lang.classfile.constantpool.Utf8Entry;
413 return resolutionFlags;
414 }
415 }
416
417 public static final class UnboundPermittedSubclassesAttribute
418 extends UnboundAttribute<PermittedSubclassesAttribute>
419 implements PermittedSubclassesAttribute {
420 private final List<ClassEntry> permittedSubclasses;
421
422 public UnboundPermittedSubclassesAttribute(List<ClassEntry> permittedSubclasses) {
423 super(Attributes.PERMITTED_SUBCLASSES);
424 this.permittedSubclasses = List.copyOf(permittedSubclasses);
425 }
426
427 @Override
428 public List<ClassEntry> permittedSubclasses() {
429 return permittedSubclasses;
430 }
431 }
432
433 public static final class UnboundPreloadAttribute
434 extends UnboundAttribute<PreloadAttribute>
435 implements PreloadAttribute {
436 private final List<ClassEntry> preloads;
437
438 public UnboundPreloadAttribute(List<ClassEntry> preloads) {
439 super(Attributes.PRELOAD);
440 this.preloads = List.copyOf(preloads);
441 }
442
443 @Override
444 public List<ClassEntry> preloads() {
445 return preloads;
446 }
447 }
448
449 public static final class UnboundNestMembersAttribute
450 extends UnboundAttribute<NestMembersAttribute>
451 implements NestMembersAttribute {
452 private final List<ClassEntry> memberEntries;
453
454 public UnboundNestMembersAttribute(List<ClassEntry> memberEntries) {
455 super(Attributes.NEST_MEMBERS);
456 this.memberEntries = List.copyOf(memberEntries);
457 }
458
459 @Override
460 public List<ClassEntry> nestMembers() {
461 return memberEntries;
462 }
463 }
464
465 public static final class UnboundNestHostAttribute
466 extends UnboundAttribute<NestHostAttribute>
467 implements NestHostAttribute {
468 private final ClassEntry hostEntry;
|