< prev index next >

src/hotspot/share/classfile/classFileParser.hpp

Print this page

        

*** 66,76 **** // "INTERNAL" level should be entirely private to the // caller - this allows for internal reuse of ClassFileParser // enum Publicity { INTERNAL, ! BROADCAST }; enum { LegalClass, LegalField, LegalMethod }; // used to verify unqualified names private: --- 66,77 ---- // "INTERNAL" level should be entirely private to the // caller - this allows for internal reuse of ClassFileParser // enum Publicity { INTERNAL, ! BROADCAST, ! NOF_PUBLICITY_LEVELS }; enum { LegalClass, LegalField, LegalMethod }; // used to verify unqualified names private:
*** 96,105 **** --- 97,107 ---- Array<u2>* _fields; Array<Method*>* _methods; Array<u2>* _inner_classes; Array<u2>* _nest_members; u2 _nest_host; + Array<u2>* _record_params; Array<InstanceKlass*>* _local_interfaces; Array<InstanceKlass*>* _transitive_interfaces; Annotations* _combined_annotations; AnnotationArray* _annotations; AnnotationArray* _type_annotations;
*** 150,159 **** --- 152,162 ---- u2 _minor_version; u2 _this_class_index; u2 _super_class_index; u2 _itfs_len; u2 _java_fields_count; + u2 _record_params_count; bool _need_verify; bool _relax_verify; bool _has_nonstatic_concrete_methods;
*** 185,195 **** void set_class_generic_signature_index(u2 x) { _generic_signature_index = x; } void set_class_sde_buffer(const char* x, int len) { _sde_buffer = x; _sde_length = len; } void create_combined_annotations(TRAPS); void apply_parsed_class_attributes(InstanceKlass* k); // update k ! void apply_parsed_class_metadata(InstanceKlass* k, int fields_count, TRAPS); void clear_class_metadata(); // Constant pool parsing void parse_constant_pool_entries(const ClassFileStream* const stream, ConstantPool* cp, --- 188,198 ---- void set_class_generic_signature_index(u2 x) { _generic_signature_index = x; } void set_class_sde_buffer(const char* x, int len) { _sde_buffer = x; _sde_length = len; } void create_combined_annotations(TRAPS); void apply_parsed_class_attributes(InstanceKlass* k); // update k ! void apply_parsed_class_metadata(InstanceKlass* k, int fields_count, int record_params_count, TRAPS); void clear_class_metadata(); // Constant pool parsing void parse_constant_pool_entries(const ClassFileStream* const stream, ConstantPool* cp,
*** 267,276 **** --- 270,287 ---- const unsafe_u2* parse_checked_exceptions(const ClassFileStream* const cfs, u2* const checked_exceptions_length, u4 method_attribute_length, TRAPS); + void parse_type_array(u2 array_length, + u4 code_length, + u4* const u1_index, + u4* const u2_index, + u1* const u1_array, + u2* const u2_array, + TRAPS); + // Classfile attribute parsing u2 parse_generic_signature_attribute(const ClassFileStream* const cfs, TRAPS); void parse_classfile_sourcefile_attribute(const ClassFileStream* const cfs, TRAPS); void parse_classfile_source_debug_extension_attribute(const ClassFileStream* const cfs, int length,
*** 285,294 **** --- 296,311 ---- u2 parse_classfile_nest_members_attribute(const ClassFileStream* const cfs, const u1* const nest_members_attribute_start, TRAPS); + void parse_classfile_record_attribute(const ClassFileStream* const cfs, + const u1* const record_attribute_start, + ConstantPool* cp, + u2* const record_params_count_ptr, + TRAPS); + void parse_classfile_attributes(const ClassFileStream* const cfs, ConstantPool* cp, ClassAnnotationCollector* parsed_annotations, TRAPS);
*** 513,522 **** --- 530,540 ---- int vtable_size() const { return _vtable_size; } int itable_size() const { return _itable_size; } u2 this_class_index() const { return _this_class_index; } + u2 super_class_index() const { return _super_class_index; } bool is_unsafe_anonymous() const { return _unsafe_anonymous_host != NULL; } bool is_interface() const { return _access_flags.is_interface(); } const InstanceKlass* unsafe_anonymous_host() const { return _unsafe_anonymous_host; }
< prev index next >