Lines Matching refs:dex_file

145   void CreateStringId(const DexFile& dex_file, uint32_t i);
146 void CreateTypeId(const DexFile& dex_file, uint32_t i);
147 void CreateProtoId(const DexFile& dex_file, uint32_t i);
148 void CreateFieldId(const DexFile& dex_file, uint32_t i);
149 void CreateMethodId(const DexFile& dex_file, uint32_t i);
150 void CreateClassDef(const DexFile& dex_file, uint32_t i);
151 void CreateCallSiteId(const DexFile& dex_file, uint32_t i);
152 void CreateMethodHandleItem(const DexFile& dex_file, uint32_t i);
154 void CreateCallSitesAndMethodHandles(const DexFile& dex_file);
157 EncodedArrayItem* CreateEncodedArrayItem(const DexFile& dex_file,
160 AnnotationItem* CreateAnnotationItem(const DexFile& dex_file,
162 AnnotationSetItem* CreateAnnotationSetItem(const DexFile& dex_file,
164 AnnotationsDirectoryItem* CreateAnnotationsDirectoryItem(const DexFile& dex_file,
166 CodeItem* DedupeOrCreateCodeItem(const DexFile& dex_file,
170 ClassData* CreateClassData(const DexFile& dex_file, const dex::ClassDef& class_def);
172 void AddAnnotationsFromMapListSection(const DexFile& dex_file,
175 void AddHiddenapiClassDataFromMapListSection(const DexFile& dex_file, uint32_t offset);
177 void CheckAndSetRemainingOffsets(const DexFile& dex_file, const Options& options);
195 EncodedValue* ReadEncodedValue(const DexFile& dex_file, const uint8_t** data);
196 EncodedValue* ReadEncodedValue(const DexFile& dex_file,
200 void ReadEncodedValue(const DexFile& dex_file,
206 MethodItem GenerateMethodItem(const DexFile& dex_file, const ClassAccessor::Method& method);
209 const DexFile& dex_file,
250 Header* DexIrBuilder(const DexFile& dex_file, in DexIrBuilder() argument
253 const DexFile::Header& disk_header = dex_file.GetHeader(); in DexIrBuilder()
264 dex_file.SupportsDefaultMethods(), in DexIrBuilder()
265 dex_file.NumStringIds(), in DexIrBuilder()
266 dex_file.NumTypeIds(), in DexIrBuilder()
267 dex_file.NumProtoIds(), in DexIrBuilder()
268 dex_file.NumFieldIds(), in DexIrBuilder()
269 dex_file.NumMethodIds(), in DexIrBuilder()
270 dex_file.NumClassDefs()); in DexIrBuilder()
275 for (uint32_t i = 0; i < dex_file.NumStringIds(); ++i) { in DexIrBuilder()
276 builder_maps.CreateStringId(dex_file, i); in DexIrBuilder()
280 for (uint32_t i = 0; i < dex_file.NumTypeIds(); ++i) { in DexIrBuilder()
281 builder_maps.CreateTypeId(dex_file, i); in DexIrBuilder()
285 for (uint32_t i = 0; i < dex_file.NumProtoIds(); ++i) { in DexIrBuilder()
286 builder_maps.CreateProtoId(dex_file, i); in DexIrBuilder()
290 for (uint32_t i = 0; i < dex_file.NumFieldIds(); ++i) { in DexIrBuilder()
291 builder_maps.CreateFieldId(dex_file, i); in DexIrBuilder()
295 for (uint32_t i = 0; i < dex_file.NumMethodIds(); ++i) { in DexIrBuilder()
296 builder_maps.CreateMethodId(dex_file, i); in DexIrBuilder()
300 for (uint32_t i = 0; i < dex_file.NumClassDefs(); ++i) { in DexIrBuilder()
304 const dex::ClassDef& class_def = dex_file.GetClassDef(i); in DexIrBuilder()
305 const char* descriptor = dex_file.GetClassDescriptor(class_def); in DexIrBuilder()
310 builder_maps.CreateClassDef(dex_file, i); in DexIrBuilder()
315 builder_maps.CreateCallSitesAndMethodHandles(dex_file); in DexIrBuilder()
316 builder_maps.CheckAndSetRemainingOffsets(dex_file, options); in DexIrBuilder()
323 dex_file.DataBegin() + dex_file.GetHeader().link_off_, in DexIrBuilder()
324 dex_file.DataBegin() + dex_file.GetHeader().link_off_ + dex_file.GetHeader().link_size_)); in DexIrBuilder()
332 void BuilderMaps::CheckAndSetRemainingOffsets(const DexFile& dex_file, const Options& options) { in CheckAndSetRemainingOffsets() argument
333 const DexFile::Header& disk_header = dex_file.GetHeader(); in CheckAndSetRemainingOffsets()
335 const dex::MapList* map = dex_file.GetMapList(); in CheckAndSetRemainingOffsets()
406 AddAnnotationsFromMapListSection(dex_file, item->offset_, item->size_); in CheckAndSetRemainingOffsets()
416 AddHiddenapiClassDataFromMapListSection(dex_file, item->offset_); in CheckAndSetRemainingOffsets()
424 void BuilderMaps::CreateStringId(const DexFile& dex_file, uint32_t i) { in CreateStringId() argument
425 const dex::StringId& disk_string_id = dex_file.GetStringId(dex::StringIndex(i)); in CreateStringId()
430 dex_file.GetStringData(disk_string_id)); in CreateStringId()
437 void BuilderMaps::CreateTypeId(const DexFile& dex_file, uint32_t i) { in CreateTypeId() argument
438 const dex::TypeId& disk_type_id = dex_file.GetTypeId(dex::TypeIndex(i)); in CreateTypeId()
445 void BuilderMaps::CreateProtoId(const DexFile& dex_file, uint32_t i) { in CreateProtoId() argument
446 const dex::ProtoId& disk_proto_id = dex_file.GetProtoId(dex::ProtoIndex(i)); in CreateProtoId()
447 const dex::TypeList* type_list = dex_file.GetProtoParameters(disk_proto_id); in CreateProtoId()
458 void BuilderMaps::CreateFieldId(const DexFile& dex_file, uint32_t i) { in CreateFieldId() argument
459 const dex::FieldId& disk_field_id = dex_file.GetFieldId(i); in CreateFieldId()
468 void BuilderMaps::CreateMethodId(const DexFile& dex_file, uint32_t i) { in CreateMethodId() argument
469 const dex::MethodId& disk_method_id = dex_file.GetMethodId(i); in CreateMethodId()
478 void BuilderMaps::CreateClassDef(const DexFile& dex_file, uint32_t i) { in CreateClassDef() argument
479 const dex::ClassDef& disk_class_def = dex_file.GetClassDef(i); in CreateClassDef()
484 const dex::TypeList* type_list = dex_file.GetInterfacesList(disk_class_def); in CreateClassDef()
492 dex_file.GetAnnotationsDirectory(disk_class_def); in CreateClassDef()
495 dex_file, disk_annotations_directory_item, disk_class_def.annotations_off_); in CreateClassDef()
498 const uint8_t* static_data = dex_file.GetEncodedStaticFieldValuesArray(disk_class_def); in CreateClassDef()
500 CreateEncodedArrayItem(dex_file, static_data, disk_class_def.static_values_off_); in CreateClassDef()
501 ClassData* class_data = CreateClassData(dex_file, disk_class_def); in CreateClassDef()
515 void BuilderMaps::CreateCallSiteId(const DexFile& dex_file, uint32_t i) { in CreateCallSiteId() argument
516 const dex::CallSiteIdItem& disk_call_site_id = dex_file.GetCallSiteId(i); in CreateCallSiteId()
517 const uint8_t* disk_call_item_ptr = dex_file.DataBegin() + disk_call_site_id.data_off_; in CreateCallSiteId()
519 CreateEncodedArrayItem(dex_file, disk_call_item_ptr, disk_call_site_id.data_off_); in CreateCallSiteId()
527 void BuilderMaps::CreateMethodHandleItem(const DexFile& dex_file, uint32_t i) { in CreateMethodHandleItem() argument
528 const dex::MethodHandleItem& disk_method_handle = dex_file.GetMethodHandle(i); in CreateMethodHandleItem()
553 void BuilderMaps::CreateCallSitesAndMethodHandles(const DexFile& dex_file) { in CreateCallSitesAndMethodHandles() argument
555 const dex::MapList* map = dex_file.GetMapList(); in CreateCallSitesAndMethodHandles()
570 for (uint32_t i = 0; i < dex_file.NumMethodHandles(); i++) { in CreateCallSitesAndMethodHandles()
571 CreateMethodHandleItem(dex_file, i); in CreateCallSitesAndMethodHandles()
574 for (uint32_t i = 0; i < dex_file.NumCallSiteIds(); i++) { in CreateCallSitesAndMethodHandles()
575 CreateCallSiteId(dex_file, i); in CreateCallSitesAndMethodHandles()
599 EncodedArrayItem* BuilderMaps::CreateEncodedArrayItem(const DexFile& dex_file, in CreateEncodedArrayItem() argument
610 values->push_back(std::unique_ptr<EncodedValue>(ReadEncodedValue(dex_file, &static_data))); in CreateEncodedArrayItem()
621 void BuilderMaps::AddAnnotationsFromMapListSection(const DexFile& dex_file, in AddAnnotationsFromMapListSection() argument
627 const dex::AnnotationItem* annotation = dex_file.GetAnnotationItemAtOffset(current_offset); in AddAnnotationsFromMapListSection()
628 AnnotationItem* annotation_item = CreateAnnotationItem(dex_file, annotation); in AddAnnotationsFromMapListSection()
634 void BuilderMaps::AddHiddenapiClassDataFromMapListSection(const DexFile& dex_file, in AddHiddenapiClassDataFromMapListSection() argument
637 dex_file.GetHiddenapiClassDataAtOffset(offset); in AddHiddenapiClassDataFromMapListSection()
638 DCHECK(hiddenapi_class_data == dex_file.GetHiddenapiClassData()); in AddHiddenapiClassDataFromMapListSection()
672 AnnotationItem* BuilderMaps::CreateAnnotationItem(const DexFile& dex_file, in CreateAnnotationItem() argument
675 const uint32_t offset = start_data - dex_file.DataBegin(); in CreateAnnotationItem()
681 ReadEncodedValue(dex_file, &annotation_data, DexFile::kDexAnnotationAnnotation, 0)); in CreateAnnotationItem()
694 AnnotationSetItem* BuilderMaps::CreateAnnotationSetItem(const DexFile& dex_file, in CreateAnnotationSetItem() argument
704 dex_file.GetAnnotationItem(disk_annotations_item, i); in CreateAnnotationSetItem()
708 AnnotationItem* annotation_item = CreateAnnotationItem(dex_file, annotation); in CreateAnnotationSetItem()
720 AnnotationsDirectoryItem* BuilderMaps::CreateAnnotationsDirectoryItem(const DexFile& dex_file, in CreateAnnotationsDirectoryItem() argument
728 dex_file.GetClassAnnotationSet(disk_annotations_item); in CreateAnnotationsDirectoryItem()
732 class_annotation = CreateAnnotationSetItem(dex_file, class_set_item, item_offset); in CreateAnnotationsDirectoryItem()
735 dex_file.GetFieldAnnotations(disk_annotations_item); in CreateAnnotationsDirectoryItem()
742 dex_file.GetFieldAnnotationSetItem(fields[i]); in CreateAnnotationsDirectoryItem()
745 CreateAnnotationSetItem(dex_file, field_set_item, annotation_set_offset); in CreateAnnotationsDirectoryItem()
751 dex_file.GetMethodAnnotations(disk_annotations_item); in CreateAnnotationsDirectoryItem()
758 dex_file.GetMethodAnnotationSetItem(methods[i]); in CreateAnnotationsDirectoryItem()
761 CreateAnnotationSetItem(dex_file, method_set_item, annotation_set_offset); in CreateAnnotationsDirectoryItem()
767 dex_file.GetParameterAnnotations(disk_annotations_item); in CreateAnnotationsDirectoryItem()
774 dex_file.GetParameterAnnotationSetRefList(&parameters[i]); in CreateAnnotationsDirectoryItem()
776 GenerateParameterAnnotation(dex_file, method_id, list, parameters[i].annotations_off_))); in CreateAnnotationsDirectoryItem()
789 CodeItem* BuilderMaps::DedupeOrCreateCodeItem(const DexFile& dex_file, in DedupeOrCreateCodeItem() argument
796 CodeItemDebugInfoAccessor accessor(dex_file, disk_code_item, dex_method_index); in DedupeOrCreateCodeItem()
806 const uint8_t* debug_info_stream = dex_file.GetDebugInfoStream(debug_info_offset); in DedupeOrCreateCodeItem()
904 uint32_t size = dex_file.GetCodeItemSize(*disk_code_item); in DedupeOrCreateCodeItem()
944 ClassData* BuilderMaps::CreateClassData(const DexFile& dex_file, in CreateClassData() argument
951 ClassAccessor accessor(dex_file, class_def); in CreateClassData()
969 direct_methods->push_back(GenerateMethodItem(dex_file, *it)); in CreateClassData()
980 virtual_methods->push_back(GenerateMethodItem(dex_file, *it)); in CreateClassData()
989 class_data->SetSize(last_data_ptr - dex_file.GetClassData(class_def)); in CreateClassData()
1097 EncodedValue* BuilderMaps::ReadEncodedValue(const DexFile& dex_file, const uint8_t** data) { in ReadEncodedValue() argument
1101 ReadEncodedValue(dex_file, data, type, encoded_value >> 5, item); in ReadEncodedValue()
1105 EncodedValue* BuilderMaps::ReadEncodedValue(const DexFile& dex_file, in ReadEncodedValue() argument
1110 ReadEncodedValue(dex_file, data, type, length, item); in ReadEncodedValue()
1114 void BuilderMaps::ReadEncodedValue(const DexFile& dex_file, in ReadEncodedValue() argument
1188 const uint32_t offset = *data - dex_file.DataBegin(); in ReadEncodedValue()
1192 values->push_back(std::unique_ptr<EncodedValue>(ReadEncodedValue(dex_file, data))); in ReadEncodedValue()
1210 ReadEncodedValue(dex_file, data))); in ReadEncodedValue()
1225 MethodItem BuilderMaps::GenerateMethodItem(const DexFile& dex_file, in GenerateMethodItem() argument
1232 CodeItem* code_item = DedupeOrCreateCodeItem(dex_file, in GenerateMethodItem()
1240 const DexFile& dex_file, in GenerateParameterAnnotation() argument
1249 dex_file.GetSetRefItemItem(&annotation_set_ref_list->list_[i]); in GenerateParameterAnnotation()
1251 annotations->push_back(CreateAnnotationSetItem(dex_file, annotation_set_item, set_offset)); in GenerateParameterAnnotation()