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( |