< prev index next >

src/share/vm/runtime/reflectionUtils.hpp

Print this page

        

*** 43,54 **** // ... // } class KlassStream VALUE_OBJ_CLASS_SPEC { protected: ! instanceKlassHandle _klass; // current klass/interface iterated over ! instanceKlassHandle _base_klass; // initial klass/interface to iterate over Array<Klass*>* _interfaces; // transitive interfaces for initial class int _interface_index; // current interface being processed bool _local_only; // process initial class/interface only bool _classes_only; // process classes only (no interfaces) bool _walk_defaults; // process default methods --- 43,54 ---- // ... // } class KlassStream VALUE_OBJ_CLASS_SPEC { protected: ! InstanceKlass* _klass; // current klass/interface iterated over ! InstanceKlass* _base_klass; // initial klass/interface to iterate over Array<Klass*>* _interfaces; // transitive interfaces for initial class int _interface_index; // current interface being processed bool _local_only; // process initial class/interface only bool _classes_only; // process classes only (no interfaces) bool _walk_defaults; // process default methods
*** 58,77 **** virtual int length() = 0; public: // constructor ! KlassStream(instanceKlassHandle klass, bool local_only, bool classes_only, bool walk_defaults); // testing bool eos(); // iterating virtual void next() = 0; // accessors ! instanceKlassHandle klass() const { return _klass; } int index() const { return _index; } bool base_class_search_defaults() const { return _base_class_search_defaults; } void base_class_search_defaults(bool b) { _base_class_search_defaults = b; } }; --- 58,77 ---- virtual int length() = 0; public: // constructor ! KlassStream(InstanceKlass* klass, bool local_only, bool classes_only, bool walk_defaults); // testing bool eos(); // iterating virtual void next() = 0; // accessors ! InstanceKlass* klass() const { return _klass; } int index() const { return _index; } bool base_class_search_defaults() const { return _base_class_search_defaults; } void base_class_search_defaults(bool b) { _base_class_search_defaults = b; } };
*** 95,105 **** } else { return _klass->methods(); } } public: ! MethodStream(instanceKlassHandle klass, bool local_only, bool classes_only) : KlassStream(klass, local_only, classes_only, true) { _index = length(); next(); } --- 95,105 ---- } else { return _klass->methods(); } } public: ! MethodStream(InstanceKlass* klass, bool local_only, bool classes_only) : KlassStream(klass, local_only, classes_only, true) { _index = length(); next(); }
*** 123,133 **** int length() { return _klass->java_fields_count(); } fieldDescriptor _fd_buf; public: ! FieldStream(instanceKlassHandle klass, bool local_only, bool classes_only) : KlassStream(klass, local_only, classes_only, false) { _index = length(); next(); } --- 123,133 ---- int length() { return _klass->java_fields_count(); } fieldDescriptor _fd_buf; public: ! FieldStream(InstanceKlass* klass, bool local_only, bool classes_only) : KlassStream(klass, local_only, classes_only, false) { _index = length(); next(); }
*** 150,160 **** return _klass->field_offset( index() ); } // bridge to a heavier API: fieldDescriptor& field_descriptor() const { fieldDescriptor& field = const_cast<fieldDescriptor&>(_fd_buf); ! field.reinitialize(_klass(), _index); return field; } }; class FilteredField : public CHeapObj<mtInternal> { --- 150,160 ---- return _klass->field_offset( index() ); } // bridge to a heavier API: fieldDescriptor& field_descriptor() const { fieldDescriptor& field = const_cast<fieldDescriptor&>(_fd_buf); ! field.reinitialize(_klass, _index); return field; } }; class FilteredField : public CHeapObj<mtInternal> {
*** 220,238 **** private: int _filtered_fields_count; bool has_filtered_field() { return (_filtered_fields_count > 0); } public: ! FilteredFieldStream(instanceKlassHandle klass, bool local_only, bool classes_only) : FieldStream(klass, local_only, classes_only) { ! _filtered_fields_count = FilteredFieldsMap::filtered_fields_count((Klass*)klass(), local_only); } int field_count(); void next() { _index -= 1; if (has_filtered_field()) { ! while (_index >=0 && FilteredFieldsMap::is_filtered_field((Klass*)_klass(), offset())) { _index -= 1; } } } }; --- 220,238 ---- private: int _filtered_fields_count; bool has_filtered_field() { return (_filtered_fields_count > 0); } public: ! FilteredFieldStream(InstanceKlass* klass, bool local_only, bool classes_only) : FieldStream(klass, local_only, classes_only) { ! _filtered_fields_count = FilteredFieldsMap::filtered_fields_count(klass, local_only); } int field_count(); void next() { _index -= 1; if (has_filtered_field()) { ! while (_index >=0 && FilteredFieldsMap::is_filtered_field((Klass*)_klass, offset())) { _index -= 1; } } } };
< prev index next >