297
298 void parse_classfile_attributes(const ClassFileStream* const cfs,
299 ConstantPool* cp,
300 ClassAnnotationCollector* parsed_annotations,
301 TRAPS);
302
303 void parse_classfile_synthetic_attribute(TRAPS);
304 void parse_classfile_signature_attribute(const ClassFileStream* const cfs, TRAPS);
305 void parse_classfile_bootstrap_methods_attribute(const ClassFileStream* const cfs,
306 ConstantPool* cp,
307 u4 attribute_length,
308 TRAPS);
309
310 // Annotations handling
311 AnnotationArray* assemble_annotations(const u1* const runtime_visible_annotations,
312 int runtime_visible_annotations_length,
313 const u1* const runtime_invisible_annotations,
314 int runtime_invisible_annotations_length,
315 TRAPS);
316
317 void set_precomputed_flags(InstanceKlass* k);
318
319 // Format checker methods
320 void classfile_parse_error(const char* msg, TRAPS) const;
321 void classfile_parse_error(const char* msg, int index, TRAPS) const;
322 void classfile_parse_error(const char* msg, const char *name, TRAPS) const;
323 void classfile_parse_error(const char* msg,
324 int index,
325 const char *name,
326 TRAPS) const;
327 void classfile_parse_error(const char* msg,
328 const char* name,
329 const char* signature,
330 TRAPS) const;
331
332 inline void guarantee_property(bool b, const char* msg, TRAPS) const {
333 if (!b) { classfile_parse_error(msg, CHECK); }
334 }
335
336 void report_assert_property_failure(const char* msg, TRAPS) const PRODUCT_RETURN;
337 void report_assert_property_failure(const char* msg, int index, TRAPS) const PRODUCT_RETURN;
|
297
298 void parse_classfile_attributes(const ClassFileStream* const cfs,
299 ConstantPool* cp,
300 ClassAnnotationCollector* parsed_annotations,
301 TRAPS);
302
303 void parse_classfile_synthetic_attribute(TRAPS);
304 void parse_classfile_signature_attribute(const ClassFileStream* const cfs, TRAPS);
305 void parse_classfile_bootstrap_methods_attribute(const ClassFileStream* const cfs,
306 ConstantPool* cp,
307 u4 attribute_length,
308 TRAPS);
309
310 // Annotations handling
311 AnnotationArray* assemble_annotations(const u1* const runtime_visible_annotations,
312 int runtime_visible_annotations_length,
313 const u1* const runtime_invisible_annotations,
314 int runtime_invisible_annotations_length,
315 TRAPS);
316
317 void set_precomputed_flags(InstanceKlass* k, TRAPS);
318
319 // Format checker methods
320 void classfile_parse_error(const char* msg, TRAPS) const;
321 void classfile_parse_error(const char* msg, int index, TRAPS) const;
322 void classfile_parse_error(const char* msg, const char *name, TRAPS) const;
323 void classfile_parse_error(const char* msg,
324 int index,
325 const char *name,
326 TRAPS) const;
327 void classfile_parse_error(const char* msg,
328 const char* name,
329 const char* signature,
330 TRAPS) const;
331
332 inline void guarantee_property(bool b, const char* msg, TRAPS) const {
333 if (!b) { classfile_parse_error(msg, CHECK); }
334 }
335
336 void report_assert_property_failure(const char* msg, TRAPS) const PRODUCT_RETURN;
337 void report_assert_property_failure(const char* msg, int index, TRAPS) const PRODUCT_RETURN;
|