summaryrefslogtreecommitdiff
path: root/dexlayout/dex_visualize.cc
diff options
context:
space:
mode:
author David Sehr <sehr@google.com> 2016-10-07 15:10:06 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-10-07 15:10:07 +0000
commitf13f84fd9fb6151c382b1f14062d6ff8c9c3b51e (patch)
treeb75b08fdb05b6a62e8887e1b1e13e4dc428af76e /dexlayout/dex_visualize.cc
parent2dacb1da034c72f1d0854f200716260722369a5d (diff)
parentd1e44e27126c8ba20f868a8f70c37633386303c5 (diff)
Merge "Add "fixups" for ids referenced in code"
Diffstat (limited to 'dexlayout/dex_visualize.cc')
-rw-r--r--dexlayout/dex_visualize.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/dexlayout/dex_visualize.cc b/dexlayout/dex_visualize.cc
index 46dff5f5f2..bc9ca6de98 100644
--- a/dexlayout/dex_visualize.cc
+++ b/dexlayout/dex_visualize.cc
@@ -279,6 +279,25 @@ class Dumper {
const dex_ir::CodeItem* code_item = method->GetCodeItem();
if (code_item != nullptr) {
DumpAddressRange(code_item, class_index);
+ const dex_ir::CodeFixups* fixups = code_item->GetCodeFixups();
+ if (fixups != nullptr) {
+ std::vector<dex_ir::TypeId*>* type_ids = fixups->TypeIds();
+ for (dex_ir::TypeId* type_id : *type_ids) {
+ DumpTypeId(type_id, class_index);
+ }
+ std::vector<dex_ir::StringId*>* string_ids = fixups->StringIds();
+ for (dex_ir::StringId* string_id : *string_ids) {
+ DumpStringId(string_id, class_index);
+ }
+ std::vector<dex_ir::MethodId*>* method_ids = fixups->MethodIds();
+ for (dex_ir::MethodId* method_id : *method_ids) {
+ DumpMethodId(method_id, class_index);
+ }
+ std::vector<dex_ir::FieldId*>* field_ids = fixups->FieldIds();
+ for (dex_ir::FieldId* field_id : *field_ids) {
+ DumpFieldId(field_id, class_index);
+ }
+ }
}
}