32 import java.lang.classfile.AnnotationValue;
33 import java.lang.classfile.Attribute;
34 import java.lang.classfile.AttributeMapper;
35 import java.lang.classfile.Attributes;
36 import java.lang.classfile.BootstrapMethodEntry;
37 import java.lang.classfile.constantpool.ClassEntry;
38 import java.lang.classfile.TypeAnnotation;
39 import java.lang.classfile.attribute.AnnotationDefaultAttribute;
40 import java.lang.classfile.attribute.BootstrapMethodsAttribute;
41 import java.lang.classfile.attribute.CharacterRangeInfo;
42 import java.lang.classfile.attribute.CharacterRangeTableAttribute;
43 import java.lang.classfile.attribute.CompilationIDAttribute;
44 import java.lang.classfile.attribute.ConstantValueAttribute;
45 import java.lang.classfile.attribute.DeprecatedAttribute;
46 import java.lang.classfile.attribute.EnclosingMethodAttribute;
47 import java.lang.classfile.attribute.ExceptionsAttribute;
48 import java.lang.classfile.attribute.InnerClassInfo;
49 import java.lang.classfile.attribute.InnerClassesAttribute;
50 import java.lang.classfile.attribute.LineNumberInfo;
51 import java.lang.classfile.attribute.LineNumberTableAttribute;
52 import java.lang.classfile.attribute.LocalVariableInfo;
53 import java.lang.classfile.attribute.LocalVariableTableAttribute;
54 import java.lang.classfile.attribute.LocalVariableTypeInfo;
55 import java.lang.classfile.attribute.LocalVariableTypeTableAttribute;
56 import java.lang.classfile.attribute.MethodParameterInfo;
57 import java.lang.classfile.attribute.MethodParametersAttribute;
58 import java.lang.classfile.attribute.ModuleAttribute;
59 import java.lang.classfile.attribute.ModuleExportInfo;
60 import java.lang.classfile.attribute.ModuleHashInfo;
61 import java.lang.classfile.attribute.ModuleHashesAttribute;
62 import java.lang.classfile.attribute.ModuleMainClassAttribute;
63 import java.lang.classfile.attribute.ModuleOpenInfo;
64 import java.lang.classfile.attribute.ModulePackagesAttribute;
65 import java.lang.classfile.attribute.ModuleProvideInfo;
66 import java.lang.classfile.attribute.ModuleRequireInfo;
67 import java.lang.classfile.attribute.ModuleResolutionAttribute;
68 import java.lang.classfile.attribute.ModuleTargetAttribute;
69 import java.lang.classfile.attribute.NestHostAttribute;
70 import java.lang.classfile.attribute.NestMembersAttribute;
71 import java.lang.classfile.attribute.PermittedSubclassesAttribute;
411 return resolutionFlags;
412 }
413 }
414
415 public static final class UnboundPermittedSubclassesAttribute
416 extends UnboundAttribute<PermittedSubclassesAttribute>
417 implements PermittedSubclassesAttribute {
418 private final List<ClassEntry> permittedSubclasses;
419
420 public UnboundPermittedSubclassesAttribute(List<ClassEntry> permittedSubclasses) {
421 super(Attributes.permittedSubclasses());
422 this.permittedSubclasses = List.copyOf(permittedSubclasses);
423 }
424
425 @Override
426 public List<ClassEntry> permittedSubclasses() {
427 return permittedSubclasses;
428 }
429 }
430
431 public static final class UnboundNestMembersAttribute
432 extends UnboundAttribute<NestMembersAttribute>
433 implements NestMembersAttribute {
434 private final List<ClassEntry> memberEntries;
435
436 public UnboundNestMembersAttribute(List<ClassEntry> memberEntries) {
437 super(Attributes.nestMembers());
438 this.memberEntries = List.copyOf(memberEntries);
439 }
440
441 @Override
442 public List<ClassEntry> nestMembers() {
443 return memberEntries;
444 }
445 }
446
447 public static final class UnboundNestHostAttribute
448 extends UnboundAttribute<NestHostAttribute>
449 implements NestHostAttribute {
450 private final ClassEntry hostEntry;
|
32 import java.lang.classfile.AnnotationValue;
33 import java.lang.classfile.Attribute;
34 import java.lang.classfile.AttributeMapper;
35 import java.lang.classfile.Attributes;
36 import java.lang.classfile.BootstrapMethodEntry;
37 import java.lang.classfile.constantpool.ClassEntry;
38 import java.lang.classfile.TypeAnnotation;
39 import java.lang.classfile.attribute.AnnotationDefaultAttribute;
40 import java.lang.classfile.attribute.BootstrapMethodsAttribute;
41 import java.lang.classfile.attribute.CharacterRangeInfo;
42 import java.lang.classfile.attribute.CharacterRangeTableAttribute;
43 import java.lang.classfile.attribute.CompilationIDAttribute;
44 import java.lang.classfile.attribute.ConstantValueAttribute;
45 import java.lang.classfile.attribute.DeprecatedAttribute;
46 import java.lang.classfile.attribute.EnclosingMethodAttribute;
47 import java.lang.classfile.attribute.ExceptionsAttribute;
48 import java.lang.classfile.attribute.InnerClassInfo;
49 import java.lang.classfile.attribute.InnerClassesAttribute;
50 import java.lang.classfile.attribute.LineNumberInfo;
51 import java.lang.classfile.attribute.LineNumberTableAttribute;
52 import java.lang.classfile.attribute.LoadableDescriptorsAttribute;
53 import java.lang.classfile.attribute.LocalVariableInfo;
54 import java.lang.classfile.attribute.LocalVariableTableAttribute;
55 import java.lang.classfile.attribute.LocalVariableTypeInfo;
56 import java.lang.classfile.attribute.LocalVariableTypeTableAttribute;
57 import java.lang.classfile.attribute.MethodParameterInfo;
58 import java.lang.classfile.attribute.MethodParametersAttribute;
59 import java.lang.classfile.attribute.ModuleAttribute;
60 import java.lang.classfile.attribute.ModuleExportInfo;
61 import java.lang.classfile.attribute.ModuleHashInfo;
62 import java.lang.classfile.attribute.ModuleHashesAttribute;
63 import java.lang.classfile.attribute.ModuleMainClassAttribute;
64 import java.lang.classfile.attribute.ModuleOpenInfo;
65 import java.lang.classfile.attribute.ModulePackagesAttribute;
66 import java.lang.classfile.attribute.ModuleProvideInfo;
67 import java.lang.classfile.attribute.ModuleRequireInfo;
68 import java.lang.classfile.attribute.ModuleResolutionAttribute;
69 import java.lang.classfile.attribute.ModuleTargetAttribute;
70 import java.lang.classfile.attribute.NestHostAttribute;
71 import java.lang.classfile.attribute.NestMembersAttribute;
72 import java.lang.classfile.attribute.PermittedSubclassesAttribute;
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.permittedSubclasses());
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 UnboundLoadableDescriptorsAttribute
433 extends UnboundAttribute<LoadableDescriptorsAttribute>
434 implements LoadableDescriptorsAttribute {
435 private final List<Utf8Entry> loadableDescriptors;
436
437 public UnboundLoadableDescriptorsAttribute(List<Utf8Entry> loadableDescriptors) {
438 super(Attributes.loadableDescriptors());
439 this.loadableDescriptors = List.copyOf(loadableDescriptors);
440 }
441
442 @Override
443 public List<Utf8Entry> loadableDescriptors() {
444 return loadableDescriptors;
445 }
446 }
447
448 public static final class UnboundNestMembersAttribute
449 extends UnboundAttribute<NestMembersAttribute>
450 implements NestMembersAttribute {
451 private final List<ClassEntry> memberEntries;
452
453 public UnboundNestMembersAttribute(List<ClassEntry> memberEntries) {
454 super(Attributes.nestMembers());
455 this.memberEntries = List.copyOf(memberEntries);
456 }
457
458 @Override
459 public List<ClassEntry> nestMembers() {
460 return memberEntries;
461 }
462 }
463
464 public static final class UnboundNestHostAttribute
465 extends UnboundAttribute<NestHostAttribute>
466 implements NestHostAttribute {
467 private final ClassEntry hostEntry;
|