1.1 --- a/src/share/vm/classfile/classFileParser.hpp Wed Dec 19 10:35:08 2012 -0800 1.2 +++ b/src/share/vm/classfile/classFileParser.hpp Thu Dec 20 10:22:19 2012 +0100 1.3 @@ -64,6 +64,7 @@ 1.4 int _sde_length; 1.5 Array<u2>* _inner_classes; 1.6 AnnotationArray* _annotations; 1.7 + AnnotationArray* _type_annotations; 1.8 1.9 void set_class_synthetic_flag(bool x) { _synthetic_flag = x; } 1.10 void set_class_sourcefile(Symbol* x) { _sourcefile = x; } 1.11 @@ -71,12 +72,14 @@ 1.12 void set_class_sde_buffer(char* x, int len) { _sde_buffer = x; _sde_length = len; } 1.13 void set_class_inner_classes(Array<u2>* x) { _inner_classes = x; } 1.14 void set_class_annotations(AnnotationArray* x) { _annotations = x; } 1.15 + void set_class_type_annotations(AnnotationArray* x) { _type_annotations = x; } 1.16 void init_parsed_class_attributes() { 1.17 _synthetic_flag = false; 1.18 _sourcefile = NULL; 1.19 _generic_signature = NULL; 1.20 _sde_buffer = NULL; 1.21 _sde_length = 0; 1.22 + _annotations = _type_annotations = NULL; 1.23 // initialize the other flags too: 1.24 _has_finalizer = _has_empty_finalizer = _has_vanilla_constructor = false; 1.25 _max_bootstrap_specifier_index = -1; 1.26 @@ -163,6 +166,7 @@ 1.27 bool* is_synthetic_addr, 1.28 u2* generic_signature_index_addr, 1.29 AnnotationArray** field_annotations, 1.30 + AnnotationArray** field_type_annotations, 1.31 FieldAnnotationCollector* parsed_annotations, 1.32 TRAPS); 1.33 Array<u2>* parse_fields(ClassLoaderData* loader_data, 1.34 @@ -170,6 +174,7 @@ 1.35 constantPoolHandle cp, bool is_interface, 1.36 FieldAllocationCount *fac, 1.37 Array<AnnotationArray*>** fields_annotations, 1.38 + Array<AnnotationArray*>** fields_type_annotations, 1.39 u2* java_fields_count_ptr, TRAPS); 1.40 1.41 // Method parsing 1.42 @@ -180,6 +185,7 @@ 1.43 AnnotationArray** method_annotations, 1.44 AnnotationArray** method_parameter_annotations, 1.45 AnnotationArray** method_default_annotations, 1.46 + AnnotationArray** method_type_annotations, 1.47 TRAPS); 1.48 Array<Method*>* parse_methods(ClassLoaderData* loader_data, 1.49 constantPoolHandle cp, 1.50 @@ -189,6 +195,7 @@ 1.51 Array<AnnotationArray*>** methods_annotations, 1.52 Array<AnnotationArray*>** methods_parameter_annotations, 1.53 Array<AnnotationArray*>** methods_default_annotations, 1.54 + Array<AnnotationArray*>** methods_type_annotations, 1.55 bool* has_default_method, 1.56 TRAPS); 1.57 Array<int>* sort_methods(ClassLoaderData* loader_data, 1.58 @@ -196,6 +203,7 @@ 1.59 Array<AnnotationArray*>* methods_annotations, 1.60 Array<AnnotationArray*>* methods_parameter_annotations, 1.61 Array<AnnotationArray*>* methods_default_annotations, 1.62 + Array<AnnotationArray*>* methods_type_annotations, 1.63 TRAPS); 1.64 u2* parse_exception_table(ClassLoaderData* loader_data, 1.65 u4 code_length, u4 exception_table_length,