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
diff --git a/runtime/native/java_lang_reflect_Executable.cc b/runtime/native/java_lang_reflect_Executable.cc
index a0a6a12..1b128fb 100644
--- a/runtime/native/java_lang_reflect_Executable.cc
+++ b/runtime/native/java_lang_reflect_Executable.cc
@@ -102,7 +102,7 @@
if (UNLIKELY(names.Get() == nullptr || access_flags.Get() == nullptr)) {
ThrowIllegalArgumentException(
StringPrintf("Missing parameter metadata for names or access flags for %s",
- PrettyMethod(art_method).c_str()).c_str());
+ art_method->PrettyMethod().c_str()).c_str());
return nullptr;
}
@@ -113,7 +113,7 @@
ThrowIllegalArgumentException(
StringPrintf(
"Inconsistent parameter metadata for %s. names length: %d, access flags length: %d",
- PrettyMethod(art_method).c_str(),
+ art_method->PrettyMethod().c_str(),
names_count,
access_flags_count).c_str());
return nullptr;