< prev index next >

src/java.base/share/classes/jdk/internal/classfile/impl/UnboundAttribute.java

Print this page

 35 import java.lang.classfile.AttributeMapper;
 36 import java.lang.classfile.Attributes;
 37 import java.lang.classfile.BootstrapMethodEntry;
 38 import java.lang.classfile.BufWriter;
 39 import java.lang.classfile.constantpool.ClassEntry;
 40 import java.lang.classfile.Label;
 41 import java.lang.classfile.TypeAnnotation;
 42 import java.lang.classfile.attribute.AnnotationDefaultAttribute;
 43 import java.lang.classfile.attribute.BootstrapMethodsAttribute;
 44 import java.lang.classfile.attribute.CharacterRangeInfo;
 45 import java.lang.classfile.attribute.CharacterRangeTableAttribute;
 46 import java.lang.classfile.attribute.CompilationIDAttribute;
 47 import java.lang.classfile.attribute.ConstantValueAttribute;
 48 import java.lang.classfile.attribute.DeprecatedAttribute;
 49 import java.lang.classfile.attribute.EnclosingMethodAttribute;
 50 import java.lang.classfile.attribute.ExceptionsAttribute;
 51 import java.lang.classfile.attribute.InnerClassInfo;
 52 import java.lang.classfile.attribute.InnerClassesAttribute;
 53 import java.lang.classfile.attribute.LineNumberInfo;
 54 import java.lang.classfile.attribute.LineNumberTableAttribute;

 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;

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;

 35 import java.lang.classfile.AttributeMapper;
 36 import java.lang.classfile.Attributes;
 37 import java.lang.classfile.BootstrapMethodEntry;
 38 import java.lang.classfile.BufWriter;
 39 import java.lang.classfile.constantpool.ClassEntry;
 40 import java.lang.classfile.Label;
 41 import java.lang.classfile.TypeAnnotation;
 42 import java.lang.classfile.attribute.AnnotationDefaultAttribute;
 43 import java.lang.classfile.attribute.BootstrapMethodsAttribute;
 44 import java.lang.classfile.attribute.CharacterRangeInfo;
 45 import java.lang.classfile.attribute.CharacterRangeTableAttribute;
 46 import java.lang.classfile.attribute.CompilationIDAttribute;
 47 import java.lang.classfile.attribute.ConstantValueAttribute;
 48 import java.lang.classfile.attribute.DeprecatedAttribute;
 49 import java.lang.classfile.attribute.EnclosingMethodAttribute;
 50 import java.lang.classfile.attribute.ExceptionsAttribute;
 51 import java.lang.classfile.attribute.InnerClassInfo;
 52 import java.lang.classfile.attribute.InnerClassesAttribute;
 53 import java.lang.classfile.attribute.LineNumberInfo;
 54 import java.lang.classfile.attribute.LineNumberTableAttribute;
 55 import java.lang.classfile.attribute.LoadableDescriptorsAttribute;
 56 import java.lang.classfile.attribute.LocalVariableInfo;
 57 import java.lang.classfile.attribute.LocalVariableTableAttribute;
 58 import java.lang.classfile.attribute.LocalVariableTypeInfo;
 59 import java.lang.classfile.attribute.LocalVariableTypeTableAttribute;
 60 import java.lang.classfile.attribute.MethodParameterInfo;
 61 import java.lang.classfile.attribute.MethodParametersAttribute;
 62 import java.lang.classfile.attribute.ModuleAttribute;
 63 import java.lang.classfile.attribute.ModuleExportInfo;
 64 import java.lang.classfile.attribute.ModuleHashInfo;
 65 import java.lang.classfile.attribute.ModuleHashesAttribute;
 66 import java.lang.classfile.attribute.ModuleMainClassAttribute;
 67 import java.lang.classfile.attribute.ModuleOpenInfo;
 68 import java.lang.classfile.attribute.ModulePackagesAttribute;
 69 import java.lang.classfile.attribute.ModuleProvideInfo;
 70 import java.lang.classfile.attribute.ModuleRequireInfo;
 71 import java.lang.classfile.attribute.ModuleResolutionAttribute;
 72 import java.lang.classfile.attribute.ModuleTargetAttribute;
 73 import java.lang.classfile.attribute.NestHostAttribute;
 74 import java.lang.classfile.attribute.NestMembersAttribute;
 75 import java.lang.classfile.attribute.PermittedSubclassesAttribute;

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 UnboundLoadableDescriptorsAttribute
434             extends UnboundAttribute<LoadableDescriptorsAttribute>
435             implements LoadableDescriptorsAttribute {
436         private final List<Utf8Entry> loadableDescriptors;
437 
438         public UnboundLoadableDescriptorsAttribute(List<Utf8Entry> loadableDescriptors) {
439             super(Attributes.LOADABLE_DESCRIPTORS);
440             this.loadableDescriptors = List.copyOf(loadableDescriptors);
441         }
442 
443         @Override
444         public List<Utf8Entry> loadableDescriptors() {
445             return loadableDescriptors;
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;
< prev index next >