Lines Matching refs:dex_file
120 const DexFile& dex_file, in ClassData() argument
124 dex_file_(dex_file), in ClassData()
151 static const AnnotationSetItem* FindAnnotationSetForField(const DexFile& dex_file, in FindAnnotationSetForField() argument
155 const AnnotationsDirectoryItem* annotations_dir = dex_file.GetAnnotationsDirectory(class_def); in FindAnnotationSetForField()
159 const FieldAnnotationsItem* field_annotations = dex_file.GetFieldAnnotations(annotations_dir); in FindAnnotationSetForField()
166 return dex_file.GetFieldAnnotationSetItem(field_annotations[i]); in FindAnnotationSetForField()
183 const AnnotationItem* SearchAnnotationSet(const DexFile& dex_file, in SearchAnnotationSet() argument
190 const AnnotationItem* annotation_item = dex_file.GetAnnotationItem(annotation_set, i); in SearchAnnotationSet()
197 if (strcmp(descriptor, dex_file.StringByTypeIdx(dex::TypeIndex(type_index))) == 0) { in SearchAnnotationSet()
205 bool SkipAnnotationValue(const DexFile& dex_file, const uint8_t** annotation_ptr) in SkipAnnotationValue() argument
231 if (!SkipAnnotationValue(dex_file, &annotation)) { in SkipAnnotationValue()
244 if (!SkipAnnotationValue(dex_file, &annotation)) { in SkipAnnotationValue()
265 const uint8_t* SearchEncodedAnnotation(const DexFile& dex_file, in SearchEncodedAnnotation() argument
275 dex_file.GetStringData(dex_file.GetStringId(dex::StringIndex(element_name_index))); in SearchEncodedAnnotation()
279 SkipAnnotationValue(dex_file, &annotation); in SearchEncodedAnnotation()
285 static const AnnotationSetItem* FindAnnotationSetForMethod(const DexFile& dex_file, in FindAnnotationSetForMethod() argument
288 const AnnotationsDirectoryItem* annotations_dir = dex_file.GetAnnotationsDirectory(class_def); in FindAnnotationSetForMethod()
292 const MethodAnnotationsItem* method_annotations = dex_file.GetMethodAnnotations(annotations_dir); in FindAnnotationSetForMethod()
299 return dex_file.GetMethodAnnotationSetItem(method_annotations[i]); in FindAnnotationSetForMethod()
317 const DexFile* dex_file = method->GetDexFile(); in FindAnnotationsItemForMethod() local
319 dex_file->GetAnnotationsDirectory(method->GetClassDef()); in FindAnnotationsItemForMethod()
324 dex_file->GetParameterAnnotations(annotations_dir); in FindAnnotationsItemForMethod()
340 const DexFile& dex_file = klass.GetDexFile(); in FindAnnotationSetForClass() local
346 const AnnotationsDirectoryItem* annotations_dir = dex_file.GetAnnotationsDirectory(*class_def); in FindAnnotationSetForClass()
350 return dex_file.GetClassAnnotationSet(annotations_dir); in FindAnnotationSetForClass()
421 const DexFile& dex_file = klass.GetDexFile(); in ProcessAnnotationValue() local
500 const char* msg = dex_file.StringByTypeIdx(type_index); in ProcessAnnotationValue()
701 const DexFile& dex_file = klass.GetDexFile(); in CreateAnnotationMember() local
706 const char* name = dex_file.StringDataByIdx(dex::StringIndex(element_name_index)); in CreateAnnotationMember()
766 const DexFile& dex_file = klass.GetDexFile(); in GetAnnotationItemFromAnnotationSet() local
768 const AnnotationItem* annotation_item = dex_file.GetAnnotationItem(annotation_set, i); in GetAnnotationItemFromAnnotationSet()
817 const DexFile& dex_file = klass.GetDexFile(); in GetAnnotationValue() local
819 SearchEncodedAnnotation(dex_file, annotation_item->annotation_, annotation_name); in GetAnnotationValue()
848 const DexFile& dex_file = klass.GetDexFile(); in GetSignatureValue() local
851 SearchAnnotationSet(dex_file, annotation_set, "Ldalvik/annotation/Signature;", in GetSignatureValue()
871 const DexFile& dex_file = klass.GetDexFile(); in GetThrowsValue() local
873 SearchAnnotationSet(dex_file, annotation_set, "Ldalvik/annotation/Throws;", in GetThrowsValue()
896 const DexFile& dex_file = klass.GetDexFile(); in ProcessAnnotationSet() local
915 const AnnotationItem* annotation_item = dex_file.GetAnnotationItem(annotation_set, i); in ProcessAnnotationSet()
954 const DexFile& dex_file = klass.GetDexFile(); in ProcessAnnotationSetRefList() local
973 const AnnotationSetItem* set_item = dex_file.GetSetRefItemItem(set_ref_item); in ProcessAnnotationSetRefList()
1033 const DexFile* dex_file = &klass.GetDexFile(); in GetAnnotationDefaultValue() local
1035 dex_file->GetAnnotationsDirectory(*klass.GetClassDef()); in GetAnnotationDefaultValue()
1040 dex_file->GetClassAnnotationSet(annotations_dir); in GetAnnotationDefaultValue()
1044 const AnnotationItem* annotation_item = SearchAnnotationSet(*dex_file, annotation_set, in GetAnnotationDefaultValue()
1050 SearchEncodedAnnotation(*dex_file, annotation_item->annotation_, "value"); in GetAnnotationDefaultValue()
1058 annotation = SearchEncodedAnnotation(*dex_file, annotation, method->GetName()); in GetAnnotationDefaultValue()
1101 const DexFile* dex_file = method->GetDexFile(); in GetParameterAnnotations() local
1108 dex_file->GetParameterAnnotationSetRefList(parameter_annotations); in GetParameterAnnotations()
1117 const DexFile* dex_file = method->GetDexFile(); in GetNumberOfAnnotatedMethodParameters() local
1124 dex_file->GetParameterAnnotationSetRefList(parameter_annotations); in GetNumberOfAnnotatedMethodParameters()
1134 const DexFile* dex_file = method->GetDexFile(); in GetAnnotationForMethodParameter() local
1140 dex_file->GetParameterAnnotationSetRefList(parameter_annotations); in GetAnnotationForMethodParameter()
1149 dex_file->GetSetRefItemItem(annotation_set_ref); in GetAnnotationForMethodParameter()
1169 const DexFile* dex_file = method->GetDexFile(); in GetParametersMetadataForMethod() local
1171 SearchAnnotationSet(*dex_file, in GetParametersMetadataForMethod()
1251 static bool IsMethodBuildAnnotationPresent(const DexFile& dex_file, in IsMethodBuildAnnotationPresent() argument
1256 const AnnotationItem* annotation_item = dex_file.GetAnnotationItem(&annotation_set, i); in IsMethodBuildAnnotationPresent()
1262 const char* descriptor = dex_file.StringByTypeIdx(dex::TypeIndex(type_index)); in IsMethodBuildAnnotationPresent()
1271 uint32_t GetNativeMethodAnnotationAccessFlags(const DexFile& dex_file, in GetNativeMethodAnnotationAccessFlags() argument
1275 FindAnnotationSetForMethod(dex_file, class_def, method_index); in GetNativeMethodAnnotationAccessFlags()
1281 dex_file, in GetNativeMethodAnnotationAccessFlags()
1288 dex_file, in GetNativeMethodAnnotationAccessFlags()
1298 bool FieldIsReachabilitySensitive(const DexFile& dex_file, in FieldIsReachabilitySensitive() argument
1303 FindAnnotationSetForField(dex_file, class_def, field_index); in FieldIsReachabilitySensitive()
1307 const AnnotationItem* annotation_item = SearchAnnotationSet(dex_file, annotation_set, in FieldIsReachabilitySensitive()
1313 bool MethodIsReachabilitySensitive(const DexFile& dex_file, in MethodIsReachabilitySensitive() argument
1318 FindAnnotationSetForMethod(dex_file, class_def, method_index); in MethodIsReachabilitySensitive()
1322 const AnnotationItem* annotation_item = SearchAnnotationSet(dex_file, annotation_set, in MethodIsReachabilitySensitive()
1327 static bool MethodIsReachabilitySensitive(const DexFile& dex_file, in MethodIsReachabilitySensitive() argument
1330 DCHECK(method_index < dex_file.NumMethodIds()); in MethodIsReachabilitySensitive()
1331 const dex::MethodId& method_id = dex_file.GetMethodId(method_index); in MethodIsReachabilitySensitive()
1333 const dex::ClassDef * class_def = dex_file.FindClassDef(class_index); in MethodIsReachabilitySensitive()
1335 && MethodIsReachabilitySensitive(dex_file, *class_def, method_index); in MethodIsReachabilitySensitive()
1338 bool MethodContainsRSensitiveAccess(const DexFile& dex_file, in MethodContainsRSensitiveAccess() argument
1346 uint32_t code_item_offset = dex_file.FindCodeItemOffset(class_def, method_index); in MethodContainsRSensitiveAccess()
1347 const dex::CodeItem* code_item = dex_file.GetCodeItem(code_item_offset); in MethodContainsRSensitiveAccess()
1348 CodeItemInstructionAccessor accessor(dex_file, code_item); in MethodContainsRSensitiveAccess()
1370 DCHECK(field_index < dex_file.NumFieldIds()); in MethodContainsRSensitiveAccess()
1373 const dex::FieldId& field_id = dex_file.GetFieldId(field_index); in MethodContainsRSensitiveAccess()
1375 const dex::ClassDef * field_class_def = dex_file.FindClassDef(class_index); in MethodContainsRSensitiveAccess()
1379 && FieldIsReachabilitySensitive(dex_file, *field_class_def, field_index)) { in MethodContainsRSensitiveAccess()
1396 if (MethodIsReachabilitySensitive(dex_file, called_method_index)) { in MethodContainsRSensitiveAccess()
1406 if (MethodIsReachabilitySensitive(dex_file, called_method_index)) { in MethodContainsRSensitiveAccess()
1426 bool HasDeadReferenceSafeAnnotation(const DexFile& dex_file, in HasDeadReferenceSafeAnnotation() argument
1432 dex_file.GetAnnotationsDirectory(class_def); in HasDeadReferenceSafeAnnotation()
1436 const AnnotationSetItem* annotation_set = dex_file.GetClassAnnotationSet(annotations_dir); in HasDeadReferenceSafeAnnotation()
1440 const AnnotationItem* annotation_item = SearchAnnotationSet(dex_file, annotation_set, in HasDeadReferenceSafeAnnotation()
1707 int32_t GetLineNumFromPC(const DexFile* dex_file, ArtMethod* method, uint32_t rel_pc) { in GetLineNumFromPC() argument
1715 DCHECK(accessor.HasCodeItem()) << method->PrettyMethod() << " " << dex_file->GetLocation(); in GetLineNumFromPC()