summaryrefslogtreecommitdiff
path: root/libdexfile/dex/class_accessor.h
diff options
context:
space:
mode:
Diffstat (limited to 'libdexfile/dex/class_accessor.h')
-rw-r--r--libdexfile/dex/class_accessor.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/libdexfile/dex/class_accessor.h b/libdexfile/dex/class_accessor.h
index 4f0fd32e31..34c7e0756b 100644
--- a/libdexfile/dex/class_accessor.h
+++ b/libdexfile/dex/class_accessor.h
@@ -248,6 +248,8 @@ class ClassAccessor {
ClassAccessor(const DexFile& dex_file, const DexFile::ClassDef& class_def);
+ ClassAccessor(const DexFile& dex_file, uint32_t class_def_index);
+
// Return the code item for a method.
const DexFile::CodeItem* GetCodeItem(const Method& method) const;
@@ -315,9 +317,7 @@ class ClassAccessor {
const char* GetDescriptor() const;
- dex::TypeIndex GetClassIdx() const {
- return descriptor_index_;
- }
+ dex::TypeIndex GetClassIdx() const;
const DexFile& GetDexFile() const {
return dex_file_;
@@ -327,6 +327,10 @@ class ClassAccessor {
return ptr_pos_ != nullptr;
}
+ uint32_t GetClassDefIndex() const {
+ return class_def_index_;
+ }
+
protected:
// Template visitor to reduce copy paste for visiting elements.
// No thread safety analysis since the visitor may require capabilities.
@@ -341,7 +345,7 @@ class ClassAccessor {
IterationRange<DataIterator<Method>> GetMethodsInternal(size_t count) const;
const DexFile& dex_file_;
- const dex::TypeIndex descriptor_index_ = {};
+ const uint32_t class_def_index_;
const uint8_t* ptr_pos_ = nullptr; // Pointer into stream of class_data_item.
const uint32_t num_static_fields_ = 0u;
const uint32_t num_instance_fields_ = 0u;