Lines Matching refs:pDexFile
479 static void dumpEncodedValue(const DexFile* pDexFile, const u1** data); // forward
480 static void dumpEncodedValue(const DexFile* pDexFile, const u1** data, u1 type, u1 arg) { in dumpEncodedValue() argument
520 dumpEscapedString(pDexFile->StringViewByIdx(dex::StringIndex(idx))); in dumpEncodedValue()
522 dumpXmlAttribute(pDexFile->StringViewByIdx(dex::StringIndex(idx))); in dumpEncodedValue()
528 fputs(pDexFile->StringByTypeIdx(dex::TypeIndex(str_idx)), gOutFile); in dumpEncodedValue()
534 const dex::FieldId& pFieldId = pDexFile->GetFieldId(field_idx); in dumpEncodedValue()
535 fputs(pDexFile->StringDataByIdx(pFieldId.name_idx_), gOutFile); in dumpEncodedValue()
540 const dex::MethodId& pMethodId = pDexFile->GetMethodId(method_idx); in dumpEncodedValue()
541 fputs(pDexFile->StringDataByIdx(pMethodId.name_idx_), gOutFile); in dumpEncodedValue()
550 dumpEncodedValue(pDexFile, data); in dumpEncodedValue()
557 fputs(pDexFile->StringByTypeIdx(dex::TypeIndex(type_idx)), gOutFile); in dumpEncodedValue()
563 fputs(pDexFile->StringDataByIdx(dex::StringIndex(name_idx)), gOutFile); in dumpEncodedValue()
565 dumpEncodedValue(pDexFile, data); in dumpEncodedValue()
584 static void dumpEncodedValue(const DexFile* pDexFile, const u1** data) { in dumpEncodedValue() argument
586 dumpEncodedValue(pDexFile, data, enc & 0x1f, enc >> 5); in dumpEncodedValue()
592 static void dumpFileHeader(const DexFile* pDexFile) { in dumpFileHeader() argument
593 const DexFile::Header& pHeader = pDexFile->GetHeader(); in dumpFileHeader()
634 static void dumpClassDef(const DexFile* pDexFile, int idx) { in dumpClassDef() argument
636 const dex::ClassDef& pClassDef = pDexFile->GetClassDef(idx); in dumpClassDef()
651 ClassAccessor accessor(*pDexFile, idx); in dumpClassDef()
662 static void dumpAnnotationSetItem(const DexFile* pDexFile, const dex::AnnotationSetItem* set_item) { in dumpAnnotationSetItem() argument
668 const dex::AnnotationItem* annotation = pDexFile->GetAnnotationItem(set_item, i); in dumpAnnotationSetItem()
681 dumpEncodedValue(pDexFile, &rData, DexFile::kDexAnnotationAnnotation, 0); in dumpAnnotationSetItem()
689 static void dumpClassAnnotations(const DexFile* pDexFile, int idx) { in dumpClassAnnotations() argument
690 const dex::ClassDef& pClassDef = pDexFile->GetClassDef(idx); in dumpClassAnnotations()
691 const dex::AnnotationsDirectoryItem* dir = pDexFile->GetAnnotationsDirectory(pClassDef); in dumpClassAnnotations()
698 const dex::AnnotationSetItem* class_set_item = pDexFile->GetClassAnnotationSet(dir); in dumpClassAnnotations()
699 const dex::FieldAnnotationsItem* fields = pDexFile->GetFieldAnnotations(dir); in dumpClassAnnotations()
700 const dex::MethodAnnotationsItem* methods = pDexFile->GetMethodAnnotations(dir); in dumpClassAnnotations()
701 const dex::ParameterAnnotationsItem* pars = pDexFile->GetParameterAnnotations(dir); in dumpClassAnnotations()
706 dumpAnnotationSetItem(pDexFile, class_set_item); in dumpClassAnnotations()
713 const dex::FieldId& pFieldId = pDexFile->GetFieldId(field_idx); in dumpClassAnnotations()
714 const char* field_name = pDexFile->StringDataByIdx(pFieldId.name_idx_); in dumpClassAnnotations()
716 dumpAnnotationSetItem(pDexFile, pDexFile->GetFieldAnnotationSetItem(fields[i])); in dumpClassAnnotations()
724 const dex::MethodId& pMethodId = pDexFile->GetMethodId(method_idx); in dumpClassAnnotations()
725 const char* method_name = pDexFile->StringDataByIdx(pMethodId.name_idx_); in dumpClassAnnotations()
727 dumpAnnotationSetItem(pDexFile, pDexFile->GetMethodAnnotationSetItem(methods[i])); in dumpClassAnnotations()
735 const dex::MethodId& pMethodId = pDexFile->GetMethodId(method_idx); in dumpClassAnnotations()
736 const char* method_name = pDexFile->StringDataByIdx(pMethodId.name_idx_); in dumpClassAnnotations()
739 list = pDexFile->GetParameterAnnotationSetRefList(&pars[i]); in dumpClassAnnotations()
743 dumpAnnotationSetItem(pDexFile, pDexFile->GetSetRefItemItem(&list->list_[j])); in dumpClassAnnotations()
755 static void dumpInterface(const DexFile* pDexFile, const dex::TypeItem& pTypeItem, int i) { in dumpInterface() argument
756 const char* interfaceName = pDexFile->StringByTypeIdx(pTypeItem.type_idx_); in dumpInterface()
768 static void dumpCatches(const DexFile* pDexFile, const dex::CodeItem* pCode) { in dumpCatches() argument
769 CodeItemDataAccessor accessor(*pDexFile, pCode); in dumpCatches()
786 const char* descriptor = (!tidx.IsValid()) ? "<any>" : pDexFile->StringByTypeIdx(tidx); in dumpCatches()
797 static std::unique_ptr<char[]> indexString(const DexFile* pDexFile, in indexString() argument
851 if (index < pDexFile->GetHeader().type_ids_size_) { in indexString()
852 const char* tp = pDexFile->StringByTypeIdx(dex::TypeIndex(index)); in indexString()
859 if (index < pDexFile->GetHeader().string_ids_size_) { in indexString()
860 const char* st = pDexFile->StringDataByIdx(dex::StringIndex(index)); in indexString()
867 if (index < pDexFile->GetHeader().method_ids_size_) { in indexString()
868 const dex::MethodId& pMethodId = pDexFile->GetMethodId(index); in indexString()
869 const char* name = pDexFile->StringDataByIdx(pMethodId.name_idx_); in indexString()
870 const Signature signature = pDexFile->GetMethodSignature(pMethodId); in indexString()
871 const char* backDescriptor = pDexFile->StringByTypeIdx(pMethodId.class_idx_); in indexString()
879 if (index < pDexFile->GetHeader().field_ids_size_) { in indexString()
880 const dex::FieldId& pFieldId = pDexFile->GetFieldId(index); in indexString()
881 const char* name = pDexFile->StringDataByIdx(pFieldId.name_idx_); in indexString()
882 const char* typeDescriptor = pDexFile->StringByTypeIdx(pFieldId.type_idx_); in indexString()
883 const char* backDescriptor = pDexFile->StringByTypeIdx(pFieldId.class_idx_); in indexString()
900 if (index < pDexFile->GetHeader().method_ids_size_) { in indexString()
901 const dex::MethodId& pMethodId = pDexFile->GetMethodId(index); in indexString()
902 const char* name = pDexFile->StringDataByIdx(pMethodId.name_idx_); in indexString()
903 const Signature signature = pDexFile->GetMethodSignature(pMethodId); in indexString()
904 const char* backDescriptor = pDexFile->StringByTypeIdx(pMethodId.class_idx_); in indexString()
910 if (secondary_index < pDexFile->GetHeader().proto_ids_size_) { in indexString()
911 const dex::ProtoId& protoId = pDexFile->GetProtoId(dex::ProtoIndex(secondary_index)); in indexString()
912 const Signature signature = pDexFile->GetProtoSignature(protoId); in indexString()
928 if (index < pDexFile->GetHeader().proto_ids_size_) { in indexString()
929 const dex::ProtoId& protoId = pDexFile->GetProtoId(dex::ProtoIndex(index)); in indexString()
930 const Signature signature = pDexFile->GetProtoSignature(protoId); in indexString()
949 return indexString(pDexFile, pDecInsn, outSize + 1); in indexString()
957 static void dumpInstruction(const DexFile* pDexFile, in dumpInstruction() argument
965 CodeItemInstructionAccessor accessor(*pDexFile, pCode); in dumpInstruction()
999 indexBuf = indexString(pDexFile, pDecInsn, 200); in dumpInstruction()
1170 static void dumpBytecodes(const DexFile* pDexFile, u4 idx, in dumpBytecodes() argument
1172 const dex::MethodId& pMethodId = pDexFile->GetMethodId(idx); in dumpBytecodes()
1173 const char* name = pDexFile->StringDataByIdx(pMethodId.name_idx_); in dumpBytecodes()
1174 const Signature signature = pDexFile->GetMethodSignature(pMethodId); in dumpBytecodes()
1175 const char* backDescriptor = pDexFile->StringByTypeIdx(pMethodId.class_idx_); in dumpBytecodes()
1183 CodeItemDataAccessor accessor(*pDexFile, pCode); in dumpBytecodes()
1197 dumpInstruction(pDexFile, pCode, codeOffset, dexPc, insnWidth, instruction); in dumpBytecodes()
1204 static void dumpCode(const DexFile* pDexFile, u4 idx, u4 flags, in dumpCode() argument
1206 CodeItemDebugInfoAccessor accessor(*pDexFile, pCode, idx); in dumpCode()
1216 dumpBytecodes(pDexFile, idx, pCode, codeOffset); in dumpCode()
1220 dumpCatches(pDexFile, pCode); in dumpCode()
1453 static void dumpClass(const DexFile* pDexFile, int idx, char** pLastPackage) { in dumpClass() argument
1454 const dex::ClassDef& pClassDef = pDexFile->GetClassDef(idx); in dumpClass()
1462 dumpClassDef(pDexFile, idx); in dumpClass()
1466 dumpClassAnnotations(pDexFile, idx); in dumpClass()
1470 dumpCfg(pDexFile, idx); in dumpClass()
1478 const char* classDescriptor = pDexFile->StringByTypeIdx(pClassDef.class_idx_); in dumpClass()
1520 superclassDescriptor = pDexFile->StringByTypeIdx(pClassDef.superclass_idx_); in dumpClass()
1548 const dex::TypeList* pInterfaces = pDexFile->GetInterfacesList(pClassDef); in dumpClass()
1551 dumpInterface(pDexFile, pInterfaces->GetTypeItem(i), i); in dumpClass()
1556 ClassAccessor accessor(*pDexFile, pClassDef, /* parse_hiddenapi_class_data= */ true); in dumpClass()
1559 const u1* sData = pDexFile->GetEncodedStaticFieldValuesArray(pClassDef); in dumpClass()
1606 fileName = pDexFile->StringDataByIdx(pClassDef.source_file_idx_); in dumpClass()
1619 static void dumpMethodHandle(const DexFile* pDexFile, u4 idx) { in dumpMethodHandle() argument
1620 const dex::MethodHandleItem& mh = pDexFile->GetMethodHandle(idx); in dumpMethodHandle()
1677 const dex::MethodId& method_id = pDexFile->GetMethodId(mh.field_or_method_idx_); in dumpMethodHandle()
1678 declaring_class = pDexFile->GetMethodDeclaringClassDescriptor(method_id); in dumpMethodHandle()
1679 member = pDexFile->GetMethodName(method_id); in dumpMethodHandle()
1680 member_type = pDexFile->GetMethodSignature(method_id).ToString(); in dumpMethodHandle()
1682 const dex::FieldId& field_id = pDexFile->GetFieldId(mh.field_or_method_idx_); in dumpMethodHandle()
1683 declaring_class = pDexFile->GetFieldDeclaringClassDescriptor(field_id); in dumpMethodHandle()
1684 member = pDexFile->GetFieldName(field_id); in dumpMethodHandle()
1685 member_type = pDexFile->GetFieldTypeDescriptor(field_id); in dumpMethodHandle()
1705 static void dumpCallSite(const DexFile* pDexFile, u4 idx) { in dumpCallSite() argument
1706 const dex::CallSiteIdItem& call_site_id = pDexFile->GetCallSiteId(idx); in dumpCallSite()
1707 CallSiteArrayValueIterator it(*pDexFile, call_site_id); in dumpCallSite()
1716 const char* method_name = pDexFile->StringDataByIdx(method_name_idx); in dumpCallSite()
1719 const dex::ProtoId& method_type_id = pDexFile->GetProtoId(method_type_idx); in dumpCallSite()
1720 std::string method_type = pDexFile->GetProtoSignature(method_type_id).ToString(); in dumpCallSite()
1766 const dex::ProtoId& proto_id = pDexFile->GetProtoId(proto_idx); in dumpCallSite()
1767 value = pDexFile->GetProtoSignature(proto_id).ToString(); in dumpCallSite()
1777 value = pDexFile->StringDataByIdx(string_idx); in dumpCallSite()
1783 const dex::TypeId& type_id = pDexFile->GetTypeId(type_idx); in dumpCallSite()
1784 value = pDexFile->GetTypeDescriptor(type_id); in dumpCallSite()
1818 const DexFile* pDexFile, size_t i, size_t n) { in processDexFile() argument
1825 fprintf(gOutFile, "', DEX version '%.3s'\n", pDexFile->GetHeader().magic_ + 4); in processDexFile()
1830 dumpFileHeader(pDexFile); in processDexFile()
1835 const u4 classDefsSize = pDexFile->GetHeader().class_defs_size_; in processDexFile()
1837 dumpClass(pDexFile, j, &package); in processDexFile()
1841 for (u4 j = 0; j < pDexFile->NumMethodHandles(); ++j) { in processDexFile()
1842 dumpMethodHandle(pDexFile, j); in processDexFile()
1846 for (u4 j = 0; j < pDexFile->NumCallSiteIds(); ++j) { in processDexFile()
1847 dumpCallSite(pDexFile, j); in processDexFile()