summaryrefslogtreecommitdiffstats
path: root/openjdkjvmti/fixed_up_dex_file.cc
diff options
context:
space:
mode:
authorAlex Light <allight@google.com>2018-06-02 05:37:39 +0000
committerAlex Light <allight@google.com>2018-06-02 15:45:36 +0000
commitcc7e20f9ec7b4a7a57f7196e5e8be67a727f21d3 (patch)
tree3aebc9078ad94f132f7a5df0813a97bbdd4c4ed9 /openjdkjvmti/fixed_up_dex_file.cc
parent2649ecf6c59a29262556aa356fbf894d49df8fe7 (diff)
downloadart-cc7e20f9ec7b4a7a57f7196e5e8be67a727f21d3.tar.gz
art-cc7e20f9ec7b4a7a57f7196e5e8be67a727f21d3.tar.bz2
art-cc7e20f9ec7b4a7a57f7196e5e8be67a727f21d3.zip
Revert "Move runtime/ to ClassAccessor"
Seems to cause 'atest CtsInlineMockingTestCases' and other tests to fail due to sending agents dex files with hiddenapi flags still present. This reverts commit 2649ecf6c59a29262556aa356fbf894d49df8fe7. Reason for revert: Seems to be causing sysui test failures, maybe Bug: 77709234 Bug: 79758018 Bug: 91962648 Test: Tree-Hugger Change-Id: I2cab5d0d58808dd8beb38400d2811307f26e1021
Diffstat (limited to 'openjdkjvmti/fixed_up_dex_file.cc')
-rw-r--r--openjdkjvmti/fixed_up_dex_file.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/openjdkjvmti/fixed_up_dex_file.cc b/openjdkjvmti/fixed_up_dex_file.cc
index a660fb56c4..fcbafe7e71 100644
--- a/openjdkjvmti/fixed_up_dex_file.cc
+++ b/openjdkjvmti/fixed_up_dex_file.cc
@@ -31,7 +31,6 @@
#include "base/leb128.h"
#include "fixed_up_dex_file.h"
-#include "dex/class_accessor-inl.h"
#include "dex/dex_file-inl.h"
#include "dex/dex_file_loader.h"
#include "dex/dex_file_verifier.h"
@@ -52,12 +51,14 @@ static void RecomputeDexChecksum(art::DexFile* dex_file) {
}
static void UnhideApis(const art::DexFile& target_dex_file) {
- for (art::ClassAccessor accessor : target_dex_file.GetClasses()) {
- for (const art::ClassAccessor::Field& field : accessor.GetFields()) {
- field.UnHideAccessFlags();
- }
- for (const art::ClassAccessor::Method& method : accessor.GetMethods()) {
- method.UnHideAccessFlags();
+ for (uint32_t i = 0; i < target_dex_file.NumClassDefs(); ++i) {
+ const uint8_t* class_data = target_dex_file.GetClassData(target_dex_file.GetClassDef(i));
+ if (class_data != nullptr) {
+ for (art::ClassDataItemIterator class_it(target_dex_file, class_data);
+ class_it.HasNext();
+ class_it.Next()) {
+ art::DexFile::UnHideAccessFlags(class_it);
+ }
}
}
}