Lines Matching refs:dex_file

43   for (const DexFile* dex_file : dex_files) {  in VerifierDeps()  local
44 DCHECK(GetDexFileDeps(*dex_file) == nullptr); in VerifierDeps()
45 std::unique_ptr<DexFileDeps> deps(new DexFileDeps(dex_file->NumClassDefs())); in VerifierDeps()
46 dex_deps_.emplace(dex_file, std::move(deps)); in VerifierDeps()
66 for (const DexFile* dex_file : dex_files) { in MergeWith() local
67 DexFileDeps* my_deps = GetDexFileDeps(*dex_file); in MergeWith()
68 DexFileDeps& other_deps = *other->GetDexFileDeps(*dex_file); in MergeWith()
82 VerifierDeps::DexFileDeps* VerifierDeps::GetDexFileDeps(const DexFile& dex_file) { in GetDexFileDeps() argument
83 auto it = dex_deps_.find(&dex_file); in GetDexFileDeps()
87 const VerifierDeps::DexFileDeps* VerifierDeps::GetDexFileDeps(const DexFile& dex_file) const { in GetDexFileDeps()
88 auto it = dex_deps_.find(&dex_file); in GetDexFileDeps()
92 dex::StringIndex VerifierDeps::GetClassDescriptorStringId(const DexFile& dex_file, in GetClassDescriptorStringId() argument
99 if (dex_cache->GetDexFile() == &dex_file) { in GetClassDescriptorStringId()
103 const dex::TypeId& type_id = dex_file.GetTypeId(class_def->class_idx_); in GetClassDescriptorStringId()
106 CHECK_EQ(GetIdFromString(dex_file, klass->GetDescriptor(&temp)), type_id.descriptor_idx_); in GetClassDescriptorStringId()
112 return GetIdFromString(dex_file, klass->GetDescriptor(&temp)); in GetClassDescriptorStringId()
140 dex::StringIndex VerifierDeps::GetIdFromString(const DexFile& dex_file, const std::string& str) { in GetIdFromString() argument
141 const dex::StringId* string_id = dex_file.FindStringId(str.c_str()); in GetIdFromString()
144 return dex_file.GetIndexForStringId(*string_id); in GetIdFromString()
153 DexFileDeps* deps = singleton->GetDexFileDeps(dex_file); in GetIdFromString()
156 uint32_t num_ids_in_dex = dex_file.NumStringIds(); in GetIdFromString()
173 DCHECK_EQ(str, singleton->GetStringFromId(dex_file, new_id)); in GetIdFromString()
178 std::string VerifierDeps::GetStringFromId(const DexFile& dex_file, dex::StringIndex string_id) in GetStringFromId() argument
180 uint32_t num_ids_in_dex = dex_file.NumStringIds(); in GetStringFromId()
182 return std::string(dex_file.StringDataByIdx(string_id)); in GetStringFromId()
184 const DexFileDeps* deps = GetDexFileDeps(dex_file); in GetStringFromId()
192 void VerifierDeps::AddAssignability(const DexFile& dex_file, in AddAssignability() argument
227 AddAssignability(dex_file, in AddAssignability()
235 DexFileDeps* dex_deps = GetDexFileDeps(dex_file); in AddAssignability()
242 dex::StringIndex destination_id = GetClassDescriptorStringId(dex_file, destination); in AddAssignability()
243 dex::StringIndex source_id = GetClassDescriptorStringId(dex_file, source); in AddAssignability()
245 uint16_t index = dex_file.GetIndexForClassDef(class_def); in AddAssignability()
249 void VerifierDeps::AddAssignability(const DexFile& dex_file, in AddAssignability() argument
253 DexFileDeps* dex_deps = GetDexFileDeps(dex_file); in AddAssignability()
265 GetIdFromString(dex_file, std::string(destination.GetDescriptor())); in AddAssignability()
266 dex::StringIndex source_id = GetIdFromString(dex_file, std::string(source.GetDescriptor())); in AddAssignability()
267 uint16_t index = dex_file.GetIndexForClassDef(class_def); in AddAssignability()
274 AddAssignability(dex_file, class_def, destination, merge.GetResolvedPart()); in AddAssignability()
276 AddAssignability(dex_file, class_def, destination, merge.GetRegTypeCache()->GetFromId(idx)); in AddAssignability()
282 const DexFile& dex_file, in MaybeRecordVerificationStatus() argument
290 DexFileDeps* dex_deps = verifier_deps->GetDexFileDeps(dex_file); in MaybeRecordVerificationStatus()
291 uint16_t index = dex_file.GetIndexForClassDef(class_def); in MaybeRecordVerificationStatus()
298 verifier_deps->RecordClassVerified(dex_file, class_def); in MaybeRecordVerificationStatus()
305 void VerifierDeps::RecordClassVerified(const DexFile& dex_file, const dex::ClassDef& class_def) { in RecordClassVerified() argument
306 DexFileDeps* dex_deps = GetDexFileDeps(dex_file); in RecordClassVerified()
307 DCHECK_EQ(dex_deps->verified_classes_.size(), dex_file.NumClassDefs()); in RecordClassVerified()
308 dex_deps->verified_classes_[dex_file.GetIndexForClassDef(class_def)] = true; in RecordClassVerified()
311 bool VerifierDeps::HasRecordedVerifiedStatus(const DexFile& dex_file, in HasRecordedVerifiedStatus() argument
313 DexFileDeps* dex_deps = GetDexFileDeps(dex_file); in HasRecordedVerifiedStatus()
314 DCHECK_EQ(dex_deps->verified_classes_.size(), dex_file.NumClassDefs()); in HasRecordedVerifiedStatus()
315 return dex_deps->verified_classes_[dex_file.GetIndexForClassDef(class_def)]; in HasRecordedVerifiedStatus()
319 const DexFile& dex_file, in MaybeRecordAssignability() argument
324 verifier_deps->AddAssignability(dex_file, class_def, destination, source); in MaybeRecordAssignability()
329 const DexFile& dex_file, in MaybeRecordAssignability() argument
334 verifier_deps->AddAssignability(dex_file, class_def, destination, source); in MaybeRecordAssignability()
522 for (const DexFile* dex_file : dex_files) { in Encode() local
526 const DexFileDeps& deps = *GetDexFileDeps(*dex_file); in Encode()
564 for (const DexFile* dex_file : dex_files) { in ParseStoredData() local
565 DexFileDeps* deps = GetDexFileDeps(*dex_file); in ParseStoredData()
568 size_t num_class_defs = dex_file->NumClassDefs(); in ParseStoredData()
574 LOG(ERROR) << "Failed to parse dex file dependencies for " << dex_file->GetLocation(); in ParseStoredData()
596 for (const DexFile* dex_file : dex_files) { in ParseVerifiedClasses() local
600 size_t num_class_defs = dex_file->NumClassDefs(); in ParseVerifiedClasses()
607 LOG(ERROR) << "Failed to parse dex file dependencies for " << dex_file->GetLocation(); in ParseVerifiedClasses()
663 const DexFile& dex_file = *dep.first; in Dump() local
666 << dex_file.GetLocation() in Dump()
678 << dex_file.GetClassDescriptor(dex_file.GetClassDef(idx)) in Dump()
682 << GetStringFromId(dex_file, entry.GetSource()) in Dump()
684 << GetStringFromId(dex_file, entry.GetDestination()) in Dump()
692 << dex_file.GetClassDescriptor(dex_file.GetClassDef(idx)) in Dump()
726 const DexFile& dex_file, in VerifyAssignability() argument
737 const std::string& destination_desc = GetStringFromId(dex_file, entry.GetDestination()); in VerifyAssignability()
740 const std::string& source_desc = GetStringFromId(dex_file, entry.GetSource()); in VerifyAssignability()
762 const DexFile& dex_file, in VerifyDexFile() argument
767 dex_file, in VerifyDexFile()