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()
209 bool SkipAnnotationValue(const DexFile& dex_file, const uint8_t** annotation_ptr) in SkipAnnotationValue() argument
235 if (!SkipAnnotationValue(dex_file, &annotation)) { in SkipAnnotationValue()
248 if (!SkipAnnotationValue(dex_file, &annotation)) { in SkipAnnotationValue()
269 const uint8_t* SearchEncodedAnnotation(const DexFile& dex_file, in SearchEncodedAnnotation() argument
279 dex_file.GetStringData(dex_file.GetStringId(dex::StringIndex(element_name_index))); in SearchEncodedAnnotation()
283 SkipAnnotationValue(dex_file, &annotation); in SearchEncodedAnnotation()
289 static const AnnotationSetItem* FindAnnotationSetForMethod(const DexFile& dex_file, in FindAnnotationSetForMethod() argument
292 const AnnotationsDirectoryItem* annotations_dir = dex_file.GetAnnotationsDirectory(class_def); in FindAnnotationSetForMethod()
296 const MethodAnnotationsItem* method_annotations = dex_file.GetMethodAnnotations(annotations_dir); in FindAnnotationSetForMethod()
303 return dex_file.GetMethodAnnotationSetItem(method_annotations[i]); in FindAnnotationSetForMethod()
321 const DexFile* dex_file = method->GetDexFile(); in FindAnnotationsItemForMethod() local
323 dex_file->GetAnnotationsDirectory(method->GetClassDef()); in FindAnnotationsItemForMethod()
328 dex_file->GetParameterAnnotations(annotations_dir); in FindAnnotationsItemForMethod()
344 const DexFile& dex_file = klass.GetDexFile(); in FindAnnotationSetForClass() local
350 const AnnotationsDirectoryItem* annotations_dir = dex_file.GetAnnotationsDirectory(*class_def); in FindAnnotationSetForClass()
354 return dex_file.GetClassAnnotationSet(annotations_dir); in FindAnnotationSetForClass()
420 const DexFile& dex_file = klass.GetDexFile(); in ProcessAnnotationValue() local
499 const char* msg = dex_file.StringByTypeIdx(type_index); in ProcessAnnotationValue()
700 const DexFile& dex_file = klass.GetDexFile(); in CreateAnnotationMember() local
705 const char* name = dex_file.StringDataByIdx(dex::StringIndex(element_name_index)); in CreateAnnotationMember()
764 const DexFile& dex_file = klass.GetDexFile(); in GetAnnotationItemFromAnnotationSet() local
766 const AnnotationItem* annotation_item = dex_file.GetAnnotationItem(annotation_set, i); in GetAnnotationItemFromAnnotationSet()
815 const DexFile& dex_file = klass.GetDexFile(); in GetAnnotationValue() local
817 SearchEncodedAnnotation(dex_file, annotation_item->annotation_, annotation_name); in GetAnnotationValue()
878 const DexFile& dex_file = klass.GetDexFile(); in GetSignatureValue() local
881 SearchAnnotationSet(dex_file, annotation_set, "Ldalvik/annotation/Signature;", in GetSignatureValue()
901 const DexFile& dex_file = klass.GetDexFile(); in GetThrowsValue() local
903 SearchAnnotationSet(dex_file, annotation_set, "Ldalvik/annotation/Throws;", in GetThrowsValue()
926 const DexFile& dex_file = klass.GetDexFile(); in ProcessAnnotationSet() local
944 const AnnotationItem* annotation_item = dex_file.GetAnnotationItem(annotation_set, i); in ProcessAnnotationSet()
983 const DexFile& dex_file = klass.GetDexFile(); in ProcessAnnotationSetRefList() local
1001 const AnnotationSetItem* set_item = dex_file.GetSetRefItemItem(set_ref_item); in ProcessAnnotationSetRefList()
1061 const DexFile* dex_file = &klass.GetDexFile(); in GetAnnotationDefaultValue() local
1063 dex_file->GetAnnotationsDirectory(*klass.GetClassDef()); in GetAnnotationDefaultValue()
1068 dex_file->GetClassAnnotationSet(annotations_dir); in GetAnnotationDefaultValue()
1072 const AnnotationItem* annotation_item = SearchAnnotationSet(*dex_file, annotation_set, in GetAnnotationDefaultValue()
1078 SearchEncodedAnnotation(*dex_file, annotation_item->annotation_, "value"); in GetAnnotationDefaultValue()
1086 annotation = SearchEncodedAnnotation(*dex_file, annotation, method->GetName()); in GetAnnotationDefaultValue()
1129 const DexFile* dex_file = method->GetDexFile(); in GetParameterAnnotations() local
1136 dex_file->GetParameterAnnotationSetRefList(parameter_annotations); in GetParameterAnnotations()
1145 const DexFile* dex_file = method->GetDexFile(); in GetNumberOfAnnotatedMethodParameters() local
1152 dex_file->GetParameterAnnotationSetRefList(parameter_annotations); in GetNumberOfAnnotatedMethodParameters()
1162 const DexFile* dex_file = method->GetDexFile(); in GetAnnotationForMethodParameter() local
1168 dex_file->GetParameterAnnotationSetRefList(parameter_annotations); in GetAnnotationForMethodParameter()
1177 dex_file->GetSetRefItemItem(annotation_set_ref); in GetAnnotationForMethodParameter()
1197 const DexFile* dex_file = method->GetDexFile(); in GetParametersMetadataForMethod() local
1199 SearchAnnotationSet(*dex_file, in GetParametersMetadataForMethod()
1279 static bool IsMethodBuildAnnotationPresent(const DexFile& dex_file, in IsMethodBuildAnnotationPresent() argument
1284 const AnnotationItem* annotation_item = dex_file.GetAnnotationItem(&annotation_set, i); in IsMethodBuildAnnotationPresent()
1290 const char* descriptor = dex_file.StringByTypeIdx(dex::TypeIndex(type_index)); in IsMethodBuildAnnotationPresent()
1299 uint32_t GetNativeMethodAnnotationAccessFlags(const DexFile& dex_file, in GetNativeMethodAnnotationAccessFlags() argument
1303 FindAnnotationSetForMethod(dex_file, class_def, method_index); in GetNativeMethodAnnotationAccessFlags()
1309 dex_file, in GetNativeMethodAnnotationAccessFlags()
1316 dex_file, in GetNativeMethodAnnotationAccessFlags()
1326 bool MethodIsNeverCompile(const DexFile& dex_file, in MethodIsNeverCompile() argument
1330 FindAnnotationSetForMethod(dex_file, class_def, method_index); in MethodIsNeverCompile()
1335 dex_file, in MethodIsNeverCompile()
1341 bool MethodIsNeverInline(const DexFile& dex_file, in MethodIsNeverInline() argument
1345 FindAnnotationSetForMethod(dex_file, class_def, method_index); in MethodIsNeverInline()
1350 dex_file, in MethodIsNeverInline()
1356 bool FieldIsReachabilitySensitive(const DexFile& dex_file, in FieldIsReachabilitySensitive() argument
1361 FindAnnotationSetForField(dex_file, class_def, field_index); in FieldIsReachabilitySensitive()
1365 const AnnotationItem* annotation_item = SearchAnnotationSet(dex_file, annotation_set, in FieldIsReachabilitySensitive()
1371 bool MethodIsReachabilitySensitive(const DexFile& dex_file, in MethodIsReachabilitySensitive() argument
1376 FindAnnotationSetForMethod(dex_file, class_def, method_index); in MethodIsReachabilitySensitive()
1380 const AnnotationItem* annotation_item = SearchAnnotationSet(dex_file, annotation_set, in MethodIsReachabilitySensitive()
1385 static bool MethodIsReachabilitySensitive(const DexFile& dex_file, in MethodIsReachabilitySensitive() argument
1388 DCHECK(method_index < dex_file.NumMethodIds()); in MethodIsReachabilitySensitive()
1389 const dex::MethodId& method_id = dex_file.GetMethodId(method_index); in MethodIsReachabilitySensitive()
1391 const dex::ClassDef * class_def = dex_file.FindClassDef(class_index); in MethodIsReachabilitySensitive()
1393 && MethodIsReachabilitySensitive(dex_file, *class_def, method_index); in MethodIsReachabilitySensitive()
1396 bool MethodContainsRSensitiveAccess(const DexFile& dex_file, in MethodContainsRSensitiveAccess() argument
1404 uint32_t code_item_offset = dex_file.FindCodeItemOffset(class_def, method_index); in MethodContainsRSensitiveAccess()
1405 const dex::CodeItem* code_item = dex_file.GetCodeItem(code_item_offset); in MethodContainsRSensitiveAccess()
1406 CodeItemInstructionAccessor accessor(dex_file, code_item); in MethodContainsRSensitiveAccess()
1428 DCHECK(field_index < dex_file.NumFieldIds()); in MethodContainsRSensitiveAccess()
1431 const dex::FieldId& field_id = dex_file.GetFieldId(field_index); in MethodContainsRSensitiveAccess()
1433 const dex::ClassDef * field_class_def = dex_file.FindClassDef(class_index); in MethodContainsRSensitiveAccess()
1437 && FieldIsReachabilitySensitive(dex_file, *field_class_def, field_index)) { in MethodContainsRSensitiveAccess()
1454 if (MethodIsReachabilitySensitive(dex_file, called_method_index)) { in MethodContainsRSensitiveAccess()
1464 if (MethodIsReachabilitySensitive(dex_file, called_method_index)) { in MethodContainsRSensitiveAccess()
1484 bool HasDeadReferenceSafeAnnotation(const DexFile& dex_file, in HasDeadReferenceSafeAnnotation() argument
1490 dex_file.GetAnnotationsDirectory(class_def); in HasDeadReferenceSafeAnnotation()
1494 const AnnotationSetItem* annotation_set = dex_file.GetClassAnnotationSet(annotations_dir); in HasDeadReferenceSafeAnnotation()
1498 const AnnotationItem* annotation_item = SearchAnnotationSet(dex_file, annotation_set, in HasDeadReferenceSafeAnnotation()
1784 const DexFile& dex_file = klass->GetDexFile(); in getRecordAnnotationElement() local
1790 dex_file, annotation_set, "Ldalvik/annotation/Record;", DexFile::kDexVisibilitySystem); in getRecordAnnotationElement()
1795 SearchEncodedAnnotation(dex_file, annotation_item->annotation_, element_name); in getRecordAnnotationElement()
1828 int32_t GetLineNumFromPC(const DexFile* dex_file, ArtMethod* method, uint32_t rel_pc) { in GetLineNumFromPC() argument
1836 DCHECK(accessor.HasCodeItem()) << method->PrettyMethod() << " " << dex_file->GetLocation(); in GetLineNumFromPC()
1895 const DexFile& dex_file, in VisitEncodedValue() argument
1925 klass, dex_file, annotation_ptr, visitor, element_name, next_depth, i); in VisitEncodedValue()
1928 SkipAnnotationValue(dex_file, annotation_ptr); in VisitEncodedValue()
1941 SkipAnnotationValue(dex_file, annotation_ptr); in VisitEncodedValue()
1955 SkipAnnotationValue(dex_file, annotation_ptr); in VisitEncodedValue()
1971 const DexFile& dex_file = data.GetDexFile(); in VisitClassAnnotations() local
1973 const AnnotationItem* annotation_item = dex_file.GetAnnotationItem(annotation_set, i); in VisitClassAnnotations()
1977 const char* annotation_descriptor = dex_file.StringByTypeIdx(dex::TypeIndex(type_index)); in VisitClassAnnotations()
1993 dex_file.GetStringData(dex_file.GetStringId(dex::StringIndex(element_name_index))); in VisitClassAnnotations()
1996 data, dex_file, &annotation, visitor, element_name, /*depth=*/0, /*ignored*/ 0); in VisitClassAnnotations()