src/share/vm/classfile/classFileParser.hpp

changeset 4393
35431a769282
parent 4304
90273fc0a981
child 4430
4a916f2ce331
equal deleted inserted replaced
4392:7d42f3b08300 4393:35431a769282
62 Symbol* _generic_signature; 62 Symbol* _generic_signature;
63 char* _sde_buffer; 63 char* _sde_buffer;
64 int _sde_length; 64 int _sde_length;
65 Array<u2>* _inner_classes; 65 Array<u2>* _inner_classes;
66 AnnotationArray* _annotations; 66 AnnotationArray* _annotations;
67 AnnotationArray* _type_annotations;
67 68
68 void set_class_synthetic_flag(bool x) { _synthetic_flag = x; } 69 void set_class_synthetic_flag(bool x) { _synthetic_flag = x; }
69 void set_class_sourcefile(Symbol* x) { _sourcefile = x; } 70 void set_class_sourcefile(Symbol* x) { _sourcefile = x; }
70 void set_class_generic_signature(Symbol* x) { _generic_signature = x; } 71 void set_class_generic_signature(Symbol* x) { _generic_signature = x; }
71 void set_class_sde_buffer(char* x, int len) { _sde_buffer = x; _sde_length = len; } 72 void set_class_sde_buffer(char* x, int len) { _sde_buffer = x; _sde_length = len; }
72 void set_class_inner_classes(Array<u2>* x) { _inner_classes = x; } 73 void set_class_inner_classes(Array<u2>* x) { _inner_classes = x; }
73 void set_class_annotations(AnnotationArray* x) { _annotations = x; } 74 void set_class_annotations(AnnotationArray* x) { _annotations = x; }
75 void set_class_type_annotations(AnnotationArray* x) { _type_annotations = x; }
74 void init_parsed_class_attributes() { 76 void init_parsed_class_attributes() {
75 _synthetic_flag = false; 77 _synthetic_flag = false;
76 _sourcefile = NULL; 78 _sourcefile = NULL;
77 _generic_signature = NULL; 79 _generic_signature = NULL;
78 _sde_buffer = NULL; 80 _sde_buffer = NULL;
79 _sde_length = 0; 81 _sde_length = 0;
82 _annotations = _type_annotations = NULL;
80 // initialize the other flags too: 83 // initialize the other flags too:
81 _has_finalizer = _has_empty_finalizer = _has_vanilla_constructor = false; 84 _has_finalizer = _has_empty_finalizer = _has_vanilla_constructor = false;
82 _max_bootstrap_specifier_index = -1; 85 _max_bootstrap_specifier_index = -1;
83 } 86 }
84 void apply_parsed_class_attributes(instanceKlassHandle k); // update k 87 void apply_parsed_class_attributes(instanceKlassHandle k); // update k
161 bool is_static, u2 signature_index, 164 bool is_static, u2 signature_index,
162 u2* constantvalue_index_addr, 165 u2* constantvalue_index_addr,
163 bool* is_synthetic_addr, 166 bool* is_synthetic_addr,
164 u2* generic_signature_index_addr, 167 u2* generic_signature_index_addr,
165 AnnotationArray** field_annotations, 168 AnnotationArray** field_annotations,
169 AnnotationArray** field_type_annotations,
166 FieldAnnotationCollector* parsed_annotations, 170 FieldAnnotationCollector* parsed_annotations,
167 TRAPS); 171 TRAPS);
168 Array<u2>* parse_fields(ClassLoaderData* loader_data, 172 Array<u2>* parse_fields(ClassLoaderData* loader_data,
169 Symbol* class_name, 173 Symbol* class_name,
170 constantPoolHandle cp, bool is_interface, 174 constantPoolHandle cp, bool is_interface,
171 FieldAllocationCount *fac, 175 FieldAllocationCount *fac,
172 Array<AnnotationArray*>** fields_annotations, 176 Array<AnnotationArray*>** fields_annotations,
177 Array<AnnotationArray*>** fields_type_annotations,
173 u2* java_fields_count_ptr, TRAPS); 178 u2* java_fields_count_ptr, TRAPS);
174 179
175 // Method parsing 180 // Method parsing
176 methodHandle parse_method(ClassLoaderData* loader_data, 181 methodHandle parse_method(ClassLoaderData* loader_data,
177 constantPoolHandle cp, 182 constantPoolHandle cp,
178 bool is_interface, 183 bool is_interface,
179 AccessFlags* promoted_flags, 184 AccessFlags* promoted_flags,
180 AnnotationArray** method_annotations, 185 AnnotationArray** method_annotations,
181 AnnotationArray** method_parameter_annotations, 186 AnnotationArray** method_parameter_annotations,
182 AnnotationArray** method_default_annotations, 187 AnnotationArray** method_default_annotations,
188 AnnotationArray** method_type_annotations,
183 TRAPS); 189 TRAPS);
184 Array<Method*>* parse_methods(ClassLoaderData* loader_data, 190 Array<Method*>* parse_methods(ClassLoaderData* loader_data,
185 constantPoolHandle cp, 191 constantPoolHandle cp,
186 bool is_interface, 192 bool is_interface,
187 AccessFlags* promoted_flags, 193 AccessFlags* promoted_flags,
188 bool* has_final_method, 194 bool* has_final_method,
189 Array<AnnotationArray*>** methods_annotations, 195 Array<AnnotationArray*>** methods_annotations,
190 Array<AnnotationArray*>** methods_parameter_annotations, 196 Array<AnnotationArray*>** methods_parameter_annotations,
191 Array<AnnotationArray*>** methods_default_annotations, 197 Array<AnnotationArray*>** methods_default_annotations,
198 Array<AnnotationArray*>** methods_type_annotations,
192 bool* has_default_method, 199 bool* has_default_method,
193 TRAPS); 200 TRAPS);
194 Array<int>* sort_methods(ClassLoaderData* loader_data, 201 Array<int>* sort_methods(ClassLoaderData* loader_data,
195 Array<Method*>* methods, 202 Array<Method*>* methods,
196 Array<AnnotationArray*>* methods_annotations, 203 Array<AnnotationArray*>* methods_annotations,
197 Array<AnnotationArray*>* methods_parameter_annotations, 204 Array<AnnotationArray*>* methods_parameter_annotations,
198 Array<AnnotationArray*>* methods_default_annotations, 205 Array<AnnotationArray*>* methods_default_annotations,
206 Array<AnnotationArray*>* methods_type_annotations,
199 TRAPS); 207 TRAPS);
200 u2* parse_exception_table(ClassLoaderData* loader_data, 208 u2* parse_exception_table(ClassLoaderData* loader_data,
201 u4 code_length, u4 exception_table_length, 209 u4 code_length, u4 exception_table_length,
202 constantPoolHandle cp, TRAPS); 210 constantPoolHandle cp, TRAPS);
203 void parse_linenumber_table( 211 void parse_linenumber_table(

mercurial