Mercurial > hg > truffle
diff src/share/vm/classfile/classFileParser.hpp @ 7457:35431a769282
8004823: Add VM support for type annotation reflection
Reviewed-by: dholmes, coleenp
Contributed-by: joel.franck@oracle.com
author | stefank |
---|---|
date | Thu, 20 Dec 2012 10:22:19 +0100 |
parents | 90273fc0a981 |
children | 4a916f2ce331 |
line wrap: on
line diff
--- a/src/share/vm/classfile/classFileParser.hpp Wed Dec 19 10:35:08 2012 -0800 +++ b/src/share/vm/classfile/classFileParser.hpp Thu Dec 20 10:22:19 2012 +0100 @@ -64,6 +64,7 @@ int _sde_length; Array<u2>* _inner_classes; AnnotationArray* _annotations; + AnnotationArray* _type_annotations; void set_class_synthetic_flag(bool x) { _synthetic_flag = x; } void set_class_sourcefile(Symbol* x) { _sourcefile = x; } @@ -71,12 +72,14 @@ void set_class_sde_buffer(char* x, int len) { _sde_buffer = x; _sde_length = len; } void set_class_inner_classes(Array<u2>* x) { _inner_classes = x; } void set_class_annotations(AnnotationArray* x) { _annotations = x; } + void set_class_type_annotations(AnnotationArray* x) { _type_annotations = x; } void init_parsed_class_attributes() { _synthetic_flag = false; _sourcefile = NULL; _generic_signature = NULL; _sde_buffer = NULL; _sde_length = 0; + _annotations = _type_annotations = NULL; // initialize the other flags too: _has_finalizer = _has_empty_finalizer = _has_vanilla_constructor = false; _max_bootstrap_specifier_index = -1; @@ -163,6 +166,7 @@ bool* is_synthetic_addr, u2* generic_signature_index_addr, AnnotationArray** field_annotations, + AnnotationArray** field_type_annotations, FieldAnnotationCollector* parsed_annotations, TRAPS); Array<u2>* parse_fields(ClassLoaderData* loader_data, @@ -170,6 +174,7 @@ constantPoolHandle cp, bool is_interface, FieldAllocationCount *fac, Array<AnnotationArray*>** fields_annotations, + Array<AnnotationArray*>** fields_type_annotations, u2* java_fields_count_ptr, TRAPS); // Method parsing @@ -180,6 +185,7 @@ AnnotationArray** method_annotations, AnnotationArray** method_parameter_annotations, AnnotationArray** method_default_annotations, + AnnotationArray** method_type_annotations, TRAPS); Array<Method*>* parse_methods(ClassLoaderData* loader_data, constantPoolHandle cp, @@ -189,6 +195,7 @@ Array<AnnotationArray*>** methods_annotations, Array<AnnotationArray*>** methods_parameter_annotations, Array<AnnotationArray*>** methods_default_annotations, + Array<AnnotationArray*>** methods_type_annotations, bool* has_default_method, TRAPS); Array<int>* sort_methods(ClassLoaderData* loader_data, @@ -196,6 +203,7 @@ Array<AnnotationArray*>* methods_annotations, Array<AnnotationArray*>* methods_parameter_annotations, Array<AnnotationArray*>* methods_default_annotations, + Array<AnnotationArray*>* methods_type_annotations, TRAPS); u2* parse_exception_table(ClassLoaderData* loader_data, u4 code_length, u4 exception_table_length,