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.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/libdexfile/dex/class_accessor.h b/libdexfile/dex/class_accessor.h
index cf6e5095d6..16282562cc 100644
--- a/libdexfile/dex/class_accessor.h
+++ b/libdexfile/dex/class_accessor.h
@@ -18,14 +18,21 @@
#define ART_LIBDEXFILE_DEX_CLASS_ACCESSOR_H_
#include "code_item_accessors.h"
-#include "dex_file.h"
+#include "dex_file_types.h"
#include "invoke_type.h"
-#include "method_reference.h"
#include "modifiers.h"
namespace art {
+namespace dex {
+struct ClassDef;
+struct CodeItem;
+} // namespace dex
+
class ClassIteratorData;
+class DexFile;
+template <typename Iter> class IterationRange;
+class MethodReference;
// Classes to access Dex data.
class ClassAccessor {
@@ -92,9 +99,7 @@ class ClassAccessor {
: GetVirtualMethodInvokeType(class_access_flags);
}
- MethodReference GetReference() const {
- return MethodReference(&dex_file_, GetIndex());
- }
+ MethodReference GetReference() const;
CodeItemInstructionAccessor GetInstructions() const;
CodeItemDataAccessor GetInstructionsAndData() const;
@@ -273,7 +278,7 @@ class ClassAccessor {
ClassAccessor(const DexFile& dex_file,
const uint8_t* class_data,
- uint32_t class_def_index = DexFile::kDexNoIndex32,
+ uint32_t class_def_index = dex::kDexNoIndex,
bool parse_hiddenapi_class_data = false);
// Return the code item for a method.
@@ -361,9 +366,7 @@ class ClassAccessor {
return class_def_index_;
}
- const dex::ClassDef& GetClassDef() const {
- return dex_file_.GetClassDef(GetClassDefIndex());
- }
+ const dex::ClassDef& GetClassDef() const;
protected:
// Template visitor to reduce copy paste for visiting elements.