39
40 public abstract class Attribute {
41 public static final String AnnotationDefault = "AnnotationDefault";
42 public static final String BootstrapMethods = "BootstrapMethods";
43 public static final String CharacterRangeTable = "CharacterRangeTable";
44 public static final String Code = "Code";
45 public static final String ConstantValue = "ConstantValue";
46 public static final String CompilationID = "CompilationID";
47 public static final String Deprecated = "Deprecated";
48 public static final String EnclosingMethod = "EnclosingMethod";
49 public static final String Exceptions = "Exceptions";
50 public static final String InnerClasses = "InnerClasses";
51 public static final String LineNumberTable = "LineNumberTable";
52 public static final String LocalVariableTable = "LocalVariableTable";
53 public static final String LocalVariableTypeTable = "LocalVariableTypeTable";
54 public static final String MethodParameters = "MethodParameters";
55 public static final String Module = "Module";
56 public static final String ModuleHashes = "ModuleHashes";
57 public static final String ModuleMainClass = "ModuleMainClass";
58 public static final String ModulePackages = "ModulePackages";
59 public static final String ModuleTarget = "ModuleTarget";
60 public static final String ModuleVersion = "ModuleVersion";
61 public static final String RuntimeVisibleAnnotations = "RuntimeVisibleAnnotations";
62 public static final String RuntimeInvisibleAnnotations = "RuntimeInvisibleAnnotations";
63 public static final String RuntimeVisibleParameterAnnotations = "RuntimeVisibleParameterAnnotations";
64 public static final String RuntimeInvisibleParameterAnnotations = "RuntimeInvisibleParameterAnnotations";
65 public static final String RuntimeVisibleTypeAnnotations = "RuntimeVisibleTypeAnnotations";
66 public static final String RuntimeInvisibleTypeAnnotations = "RuntimeInvisibleTypeAnnotations";
67 public static final String Signature = "Signature";
68 public static final String SourceDebugExtension = "SourceDebugExtension";
69 public static final String SourceFile = "SourceFile";
70 public static final String SourceID = "SourceID";
71 public static final String StackMap = "StackMap";
72 public static final String StackMapTable = "StackMapTable";
73 public static final String Synthetic = "Synthetic";
74
75 public static class Factory {
76 public Factory() {
77 // defer init of standardAttributeClasses until after options set up
78 }
79
80 public Attribute createAttribute(ClassReader cr, int name_index, byte[] data)
111 protected void init() {
112 standardAttributes = new HashMap<>();
113 standardAttributes.put(AnnotationDefault, AnnotationDefault_attribute.class);
114 standardAttributes.put(BootstrapMethods, BootstrapMethods_attribute.class);
115 standardAttributes.put(CharacterRangeTable, CharacterRangeTable_attribute.class);
116 standardAttributes.put(Code, Code_attribute.class);
117 standardAttributes.put(CompilationID, CompilationID_attribute.class);
118 standardAttributes.put(ConstantValue, ConstantValue_attribute.class);
119 standardAttributes.put(Deprecated, Deprecated_attribute.class);
120 standardAttributes.put(EnclosingMethod, EnclosingMethod_attribute.class);
121 standardAttributes.put(Exceptions, Exceptions_attribute.class);
122 standardAttributes.put(InnerClasses, InnerClasses_attribute.class);
123 standardAttributes.put(LineNumberTable, LineNumberTable_attribute.class);
124 standardAttributes.put(LocalVariableTable, LocalVariableTable_attribute.class);
125 standardAttributes.put(LocalVariableTypeTable, LocalVariableTypeTable_attribute.class);
126 standardAttributes.put(MethodParameters, MethodParameters_attribute.class);
127 standardAttributes.put(Module, Module_attribute.class);
128 standardAttributes.put(ModuleHashes, ModuleHashes_attribute.class);
129 standardAttributes.put(ModuleMainClass, ModuleMainClass_attribute.class);
130 standardAttributes.put(ModulePackages, ModulePackages_attribute.class);
131 standardAttributes.put(ModuleTarget, ModuleTarget_attribute.class);
132 standardAttributes.put(ModuleVersion, ModuleVersion_attribute.class);
133 standardAttributes.put(RuntimeInvisibleAnnotations, RuntimeInvisibleAnnotations_attribute.class);
134 standardAttributes.put(RuntimeInvisibleParameterAnnotations, RuntimeInvisibleParameterAnnotations_attribute.class);
135 standardAttributes.put(RuntimeVisibleAnnotations, RuntimeVisibleAnnotations_attribute.class);
136 standardAttributes.put(RuntimeVisibleParameterAnnotations, RuntimeVisibleParameterAnnotations_attribute.class);
137 standardAttributes.put(RuntimeVisibleTypeAnnotations, RuntimeVisibleTypeAnnotations_attribute.class);
138 standardAttributes.put(RuntimeInvisibleTypeAnnotations, RuntimeInvisibleTypeAnnotations_attribute.class);
139 standardAttributes.put(Signature, Signature_attribute.class);
140 standardAttributes.put(SourceDebugExtension, SourceDebugExtension_attribute.class);
141 standardAttributes.put(SourceFile, SourceFile_attribute.class);
142 standardAttributes.put(SourceID, SourceID_attribute.class);
143 standardAttributes.put(StackMap, StackMap_attribute.class);
144 standardAttributes.put(StackMapTable, StackMapTable_attribute.class);
145 standardAttributes.put(Synthetic, Synthetic_attribute.class);
146 }
147
148 private Map<String,Class<? extends Attribute>> standardAttributes;
149 }
150
151 public static Attribute read(ClassReader cr) throws IOException {
152 return cr.readAttribute();
174 public interface Visitor<R,P> {
175 R visitBootstrapMethods(BootstrapMethods_attribute attr, P p);
176 R visitDefault(DefaultAttribute attr, P p);
177 R visitAnnotationDefault(AnnotationDefault_attribute attr, P p);
178 R visitCharacterRangeTable(CharacterRangeTable_attribute attr, P p);
179 R visitCode(Code_attribute attr, P p);
180 R visitCompilationID(CompilationID_attribute attr, P p);
181 R visitConstantValue(ConstantValue_attribute attr, P p);
182 R visitDeprecated(Deprecated_attribute attr, P p);
183 R visitEnclosingMethod(EnclosingMethod_attribute attr, P p);
184 R visitExceptions(Exceptions_attribute attr, P p);
185 R visitInnerClasses(InnerClasses_attribute attr, P p);
186 R visitLineNumberTable(LineNumberTable_attribute attr, P p);
187 R visitLocalVariableTable(LocalVariableTable_attribute attr, P p);
188 R visitLocalVariableTypeTable(LocalVariableTypeTable_attribute attr, P p);
189 R visitMethodParameters(MethodParameters_attribute attr, P p);
190 R visitModule(Module_attribute attr, P p);
191 R visitModuleHashes(ModuleHashes_attribute attr, P p);
192 R visitModuleMainClass(ModuleMainClass_attribute attr, P p);
193 R visitModulePackages(ModulePackages_attribute attr, P p);
194 R visitModuleTarget(ModuleTarget_attribute attr, P p);
195 R visitModuleVersion(ModuleVersion_attribute attr, P p);
196 R visitRuntimeVisibleAnnotations(RuntimeVisibleAnnotations_attribute attr, P p);
197 R visitRuntimeInvisibleAnnotations(RuntimeInvisibleAnnotations_attribute attr, P p);
198 R visitRuntimeVisibleParameterAnnotations(RuntimeVisibleParameterAnnotations_attribute attr, P p);
199 R visitRuntimeInvisibleParameterAnnotations(RuntimeInvisibleParameterAnnotations_attribute attr, P p);
200 R visitRuntimeVisibleTypeAnnotations(RuntimeVisibleTypeAnnotations_attribute attr, P p);
201 R visitRuntimeInvisibleTypeAnnotations(RuntimeInvisibleTypeAnnotations_attribute attr, P p);
202 R visitSignature(Signature_attribute attr, P p);
203 R visitSourceDebugExtension(SourceDebugExtension_attribute attr, P p);
204 R visitSourceFile(SourceFile_attribute attr, P p);
205 R visitSourceID(SourceID_attribute attr, P p);
206 R visitStackMap(StackMap_attribute attr, P p);
207 R visitStackMapTable(StackMapTable_attribute attr, P p);
208 R visitSynthetic(Synthetic_attribute attr, P p);
209 }
210 }
|
39
40 public abstract class Attribute {
41 public static final String AnnotationDefault = "AnnotationDefault";
42 public static final String BootstrapMethods = "BootstrapMethods";
43 public static final String CharacterRangeTable = "CharacterRangeTable";
44 public static final String Code = "Code";
45 public static final String ConstantValue = "ConstantValue";
46 public static final String CompilationID = "CompilationID";
47 public static final String Deprecated = "Deprecated";
48 public static final String EnclosingMethod = "EnclosingMethod";
49 public static final String Exceptions = "Exceptions";
50 public static final String InnerClasses = "InnerClasses";
51 public static final String LineNumberTable = "LineNumberTable";
52 public static final String LocalVariableTable = "LocalVariableTable";
53 public static final String LocalVariableTypeTable = "LocalVariableTypeTable";
54 public static final String MethodParameters = "MethodParameters";
55 public static final String Module = "Module";
56 public static final String ModuleHashes = "ModuleHashes";
57 public static final String ModuleMainClass = "ModuleMainClass";
58 public static final String ModulePackages = "ModulePackages";
59 public static final String ModuleResolution = "ModuleResolution";
60 public static final String ModuleTarget = "ModuleTarget";
61 public static final String RuntimeVisibleAnnotations = "RuntimeVisibleAnnotations";
62 public static final String RuntimeInvisibleAnnotations = "RuntimeInvisibleAnnotations";
63 public static final String RuntimeVisibleParameterAnnotations = "RuntimeVisibleParameterAnnotations";
64 public static final String RuntimeInvisibleParameterAnnotations = "RuntimeInvisibleParameterAnnotations";
65 public static final String RuntimeVisibleTypeAnnotations = "RuntimeVisibleTypeAnnotations";
66 public static final String RuntimeInvisibleTypeAnnotations = "RuntimeInvisibleTypeAnnotations";
67 public static final String Signature = "Signature";
68 public static final String SourceDebugExtension = "SourceDebugExtension";
69 public static final String SourceFile = "SourceFile";
70 public static final String SourceID = "SourceID";
71 public static final String StackMap = "StackMap";
72 public static final String StackMapTable = "StackMapTable";
73 public static final String Synthetic = "Synthetic";
74
75 public static class Factory {
76 public Factory() {
77 // defer init of standardAttributeClasses until after options set up
78 }
79
80 public Attribute createAttribute(ClassReader cr, int name_index, byte[] data)
111 protected void init() {
112 standardAttributes = new HashMap<>();
113 standardAttributes.put(AnnotationDefault, AnnotationDefault_attribute.class);
114 standardAttributes.put(BootstrapMethods, BootstrapMethods_attribute.class);
115 standardAttributes.put(CharacterRangeTable, CharacterRangeTable_attribute.class);
116 standardAttributes.put(Code, Code_attribute.class);
117 standardAttributes.put(CompilationID, CompilationID_attribute.class);
118 standardAttributes.put(ConstantValue, ConstantValue_attribute.class);
119 standardAttributes.put(Deprecated, Deprecated_attribute.class);
120 standardAttributes.put(EnclosingMethod, EnclosingMethod_attribute.class);
121 standardAttributes.put(Exceptions, Exceptions_attribute.class);
122 standardAttributes.put(InnerClasses, InnerClasses_attribute.class);
123 standardAttributes.put(LineNumberTable, LineNumberTable_attribute.class);
124 standardAttributes.put(LocalVariableTable, LocalVariableTable_attribute.class);
125 standardAttributes.put(LocalVariableTypeTable, LocalVariableTypeTable_attribute.class);
126 standardAttributes.put(MethodParameters, MethodParameters_attribute.class);
127 standardAttributes.put(Module, Module_attribute.class);
128 standardAttributes.put(ModuleHashes, ModuleHashes_attribute.class);
129 standardAttributes.put(ModuleMainClass, ModuleMainClass_attribute.class);
130 standardAttributes.put(ModulePackages, ModulePackages_attribute.class);
131 standardAttributes.put(ModuleResolution, ModuleResolution_attribute.class);
132 standardAttributes.put(ModuleTarget, ModuleTarget_attribute.class);
133 standardAttributes.put(RuntimeInvisibleAnnotations, RuntimeInvisibleAnnotations_attribute.class);
134 standardAttributes.put(RuntimeInvisibleParameterAnnotations, RuntimeInvisibleParameterAnnotations_attribute.class);
135 standardAttributes.put(RuntimeVisibleAnnotations, RuntimeVisibleAnnotations_attribute.class);
136 standardAttributes.put(RuntimeVisibleParameterAnnotations, RuntimeVisibleParameterAnnotations_attribute.class);
137 standardAttributes.put(RuntimeVisibleTypeAnnotations, RuntimeVisibleTypeAnnotations_attribute.class);
138 standardAttributes.put(RuntimeInvisibleTypeAnnotations, RuntimeInvisibleTypeAnnotations_attribute.class);
139 standardAttributes.put(Signature, Signature_attribute.class);
140 standardAttributes.put(SourceDebugExtension, SourceDebugExtension_attribute.class);
141 standardAttributes.put(SourceFile, SourceFile_attribute.class);
142 standardAttributes.put(SourceID, SourceID_attribute.class);
143 standardAttributes.put(StackMap, StackMap_attribute.class);
144 standardAttributes.put(StackMapTable, StackMapTable_attribute.class);
145 standardAttributes.put(Synthetic, Synthetic_attribute.class);
146 }
147
148 private Map<String,Class<? extends Attribute>> standardAttributes;
149 }
150
151 public static Attribute read(ClassReader cr) throws IOException {
152 return cr.readAttribute();
174 public interface Visitor<R,P> {
175 R visitBootstrapMethods(BootstrapMethods_attribute attr, P p);
176 R visitDefault(DefaultAttribute attr, P p);
177 R visitAnnotationDefault(AnnotationDefault_attribute attr, P p);
178 R visitCharacterRangeTable(CharacterRangeTable_attribute attr, P p);
179 R visitCode(Code_attribute attr, P p);
180 R visitCompilationID(CompilationID_attribute attr, P p);
181 R visitConstantValue(ConstantValue_attribute attr, P p);
182 R visitDeprecated(Deprecated_attribute attr, P p);
183 R visitEnclosingMethod(EnclosingMethod_attribute attr, P p);
184 R visitExceptions(Exceptions_attribute attr, P p);
185 R visitInnerClasses(InnerClasses_attribute attr, P p);
186 R visitLineNumberTable(LineNumberTable_attribute attr, P p);
187 R visitLocalVariableTable(LocalVariableTable_attribute attr, P p);
188 R visitLocalVariableTypeTable(LocalVariableTypeTable_attribute attr, P p);
189 R visitMethodParameters(MethodParameters_attribute attr, P p);
190 R visitModule(Module_attribute attr, P p);
191 R visitModuleHashes(ModuleHashes_attribute attr, P p);
192 R visitModuleMainClass(ModuleMainClass_attribute attr, P p);
193 R visitModulePackages(ModulePackages_attribute attr, P p);
194 R visitModuleResolution(ModuleResolution_attribute attr, P p);
195 R visitModuleTarget(ModuleTarget_attribute attr, P p);
196 R visitRuntimeVisibleAnnotations(RuntimeVisibleAnnotations_attribute attr, P p);
197 R visitRuntimeInvisibleAnnotations(RuntimeInvisibleAnnotations_attribute attr, P p);
198 R visitRuntimeVisibleParameterAnnotations(RuntimeVisibleParameterAnnotations_attribute attr, P p);
199 R visitRuntimeInvisibleParameterAnnotations(RuntimeInvisibleParameterAnnotations_attribute attr, P p);
200 R visitRuntimeVisibleTypeAnnotations(RuntimeVisibleTypeAnnotations_attribute attr, P p);
201 R visitRuntimeInvisibleTypeAnnotations(RuntimeInvisibleTypeAnnotations_attribute attr, P p);
202 R visitSignature(Signature_attribute attr, P p);
203 R visitSourceDebugExtension(SourceDebugExtension_attribute attr, P p);
204 R visitSourceFile(SourceFile_attribute attr, P p);
205 R visitSourceID(SourceID_attribute attr, P p);
206 R visitStackMap(StackMap_attribute attr, P p);
207 R visitStackMapTable(StackMapTable_attribute attr, P p);
208 R visitSynthetic(Synthetic_attribute attr, P p);
209 }
210 }
|