diff options
Diffstat (limited to 'libdexfile/dex/class_accessor.h')
-rw-r--r-- | libdexfile/dex/class_accessor.h | 12 |
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; |