diff options
author | 2016-10-07 15:10:06 +0000 | |
---|---|---|
committer | 2016-10-07 15:10:07 +0000 | |
commit | f13f84fd9fb6151c382b1f14062d6ff8c9c3b51e (patch) | |
tree | b75b08fdb05b6a62e8887e1b1e13e4dc428af76e /dexlayout/dex_visualize.cc | |
parent | 2dacb1da034c72f1d0854f200716260722369a5d (diff) | |
parent | d1e44e27126c8ba20f868a8f70c37633386303c5 (diff) |
Merge "Add "fixups" for ids referenced in code"
Diffstat (limited to 'dexlayout/dex_visualize.cc')
-rw-r--r-- | dexlayout/dex_visualize.cc | 19 |
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); + } + } } } |