summaryrefslogtreecommitdiff
path: root/runtime/method_reference.h
diff options
context:
space:
mode:
author David Sehr <sehr@google.com> 2016-10-13 09:12:37 -0700
committer David Sehr <sehr@google.com> 2016-10-18 14:10:04 -0700
commit709b070044354d9f47641f273edacaeeb0240ab7 (patch)
tree3a8ac051d7c35076303984d0d892cdd396b60427 /runtime/method_reference.h
parent1a4de6a2453a3ad0310aca1a44e7e2d3b6f53bc1 (diff)
Remove mirror:: and ArtMethod deps in utils.{h,cc}
The latest chapter in the ongoing saga of attempting to dump a DEX file without having to start a whole runtime instance. This episode finds us removing references to ArtMethod/ArtField/mirror. One aspect of this change that I would like to call out specfically is that the utils versions of the "Pretty*" functions all were written to accept nullptr as an argument. I have split these functions up as follows: 1) an instance method, such as PrettyClass that obviously requires this != nullptr. 2) a static method, that behaves the same way as the util method, but calls the instance method if p != nullptr. This requires using a full class qualifier for the static methods, which isn't exactly beautiful. I have tried to remove as many cases as possible where it was clear p != nullptr. Bug: 22322814 Test: test-art-host Change-Id: I21adee3614aa697aa580cd1b86b72d9206e1cb24
Diffstat (limited to 'runtime/method_reference.h')
-rw-r--r--runtime/method_reference.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/runtime/method_reference.h b/runtime/method_reference.h
index f4fe9b20bd..0b0afe64a6 100644
--- a/runtime/method_reference.h
+++ b/runtime/method_reference.h
@@ -18,15 +18,18 @@
#define ART_RUNTIME_METHOD_REFERENCE_H_
#include <stdint.h>
+#include <string>
+#include "dex_file.h"
namespace art {
-class DexFile;
-
// A method is uniquely located by its DexFile and the method_ids_ table index into that DexFile
struct MethodReference {
MethodReference(const DexFile* file, uint32_t index) : dex_file(file), dex_method_index(index) {
}
+ std::string PrettyMethod(bool with_signature = true) {
+ return dex_file->PrettyMethod(dex_method_index, with_signature);
+ }
const DexFile* dex_file;
uint32_t dex_method_index;
};