src/share/vm/classfile/classFileParser.hpp

changeset 4393
35431a769282
parent 4304
90273fc0a981
child 4430
4a916f2ce331
     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,

mercurial