Lines Matching refs:DexFile

58 struct DexFile::AnnotationValue {
85 const DexFile& GetDexFile() const REQUIRES_SHARED(Locks::mutator_lock_) { in GetDexFile()
120 const DexFile& dex_file, in ClassData()
131 const DexFile& dex_file_;
143 if (expected == DexFile::kDexVisibilityRuntime) { in IsVisibilityCompatible()
145 return actual == DexFile::kDexVisibilityRuntime || actual == DexFile::kDexVisibilityBuild; in IsVisibilityCompatible()
151 static const AnnotationSetItem* FindAnnotationSetForField(const DexFile& dex_file, in FindAnnotationSetForField()
183 const AnnotationItem* SearchAnnotationSet(const DexFile& dex_file, in SearchAnnotationSet()
205 bool SkipAnnotationValue(const DexFile& dex_file, const uint8_t** annotation_ptr) in SkipAnnotationValue()
209 uint8_t value_type = header_byte & DexFile::kDexAnnotationValueTypeMask; in SkipAnnotationValue()
210 uint8_t value_arg = header_byte >> DexFile::kDexAnnotationValueArgShift; in SkipAnnotationValue()
214 case DexFile::kDexAnnotationByte: in SkipAnnotationValue()
215 case DexFile::kDexAnnotationShort: in SkipAnnotationValue()
216 case DexFile::kDexAnnotationChar: in SkipAnnotationValue()
217 case DexFile::kDexAnnotationInt: in SkipAnnotationValue()
218 case DexFile::kDexAnnotationLong: in SkipAnnotationValue()
219 case DexFile::kDexAnnotationFloat: in SkipAnnotationValue()
220 case DexFile::kDexAnnotationDouble: in SkipAnnotationValue()
221 case DexFile::kDexAnnotationString: in SkipAnnotationValue()
222 case DexFile::kDexAnnotationType: in SkipAnnotationValue()
223 case DexFile::kDexAnnotationMethod: in SkipAnnotationValue()
224 case DexFile::kDexAnnotationField: in SkipAnnotationValue()
225 case DexFile::kDexAnnotationEnum: in SkipAnnotationValue()
227 case DexFile::kDexAnnotationArray: in SkipAnnotationValue()
238 case DexFile::kDexAnnotationAnnotation: in SkipAnnotationValue()
251 case DexFile::kDexAnnotationBoolean: in SkipAnnotationValue()
252 case DexFile::kDexAnnotationNull: in SkipAnnotationValue()
265 const uint8_t* SearchEncodedAnnotation(const DexFile& dex_file, in SearchEncodedAnnotation()
285 static const AnnotationSetItem* FindAnnotationSetForMethod(const DexFile& dex_file, in FindAnnotationSetForMethod()
317 const DexFile* dex_file = method->GetDexFile(); in FindAnnotationsItemForMethod()
340 const DexFile& dex_file = klass.GetDexFile(); in FindAnnotationSetForClass()
417 DexFile::AnnotationValue* annotation_value, in ProcessAnnotationValue()
419 DexFile::AnnotationResultStyle result_style) in ProcessAnnotationValue()
421 const DexFile& dex_file = klass.GetDexFile(); in ProcessAnnotationValue()
428 uint8_t value_type = header_byte & DexFile::kDexAnnotationValueTypeMask; in ProcessAnnotationValue()
429 uint8_t value_arg = header_byte >> DexFile::kDexAnnotationValueArgShift; in ProcessAnnotationValue()
434 case DexFile::kDexAnnotationByte: in ProcessAnnotationValue()
436 static_cast<int8_t>(DexFile::ReadSignedInt(annotation, value_arg))); in ProcessAnnotationValue()
439 case DexFile::kDexAnnotationShort: in ProcessAnnotationValue()
441 static_cast<int16_t>(DexFile::ReadSignedInt(annotation, value_arg))); in ProcessAnnotationValue()
444 case DexFile::kDexAnnotationChar: in ProcessAnnotationValue()
446 static_cast<uint16_t>(DexFile::ReadUnsignedInt(annotation, value_arg, false))); in ProcessAnnotationValue()
449 case DexFile::kDexAnnotationInt: in ProcessAnnotationValue()
450 annotation_value->value_.SetI(DexFile::ReadSignedInt(annotation, value_arg)); in ProcessAnnotationValue()
453 case DexFile::kDexAnnotationLong: in ProcessAnnotationValue()
454 annotation_value->value_.SetJ(DexFile::ReadSignedLong(annotation, value_arg)); in ProcessAnnotationValue()
457 case DexFile::kDexAnnotationFloat: in ProcessAnnotationValue()
458 annotation_value->value_.SetI(DexFile::ReadUnsignedInt(annotation, value_arg, true)); in ProcessAnnotationValue()
461 case DexFile::kDexAnnotationDouble: in ProcessAnnotationValue()
462 annotation_value->value_.SetJ(DexFile::ReadUnsignedLong(annotation, value_arg, true)); in ProcessAnnotationValue()
465 case DexFile::kDexAnnotationBoolean: in ProcessAnnotationValue()
470 case DexFile::kDexAnnotationString: { in ProcessAnnotationValue()
471 uint32_t index = DexFile::ReadUnsignedInt(annotation, value_arg, false); in ProcessAnnotationValue()
472 if (result_style == DexFile::kAllRaw) { in ProcessAnnotationValue()
485 case DexFile::kDexAnnotationType: { in ProcessAnnotationValue()
486 uint32_t index = DexFile::ReadUnsignedInt(annotation, value_arg, false); in ProcessAnnotationValue()
487 if (result_style == DexFile::kAllRaw) { in ProcessAnnotationValue()
499 if (result_style == DexFile::kAllObjects) { in ProcessAnnotationValue()
511 case DexFile::kDexAnnotationMethod: { in ProcessAnnotationValue()
512 uint32_t index = DexFile::ReadUnsignedInt(annotation, value_arg, false); in ProcessAnnotationValue()
513 if (result_style == DexFile::kAllRaw) { in ProcessAnnotationValue()
542 case DexFile::kDexAnnotationField: { in ProcessAnnotationValue()
543 uint32_t index = DexFile::ReadUnsignedInt(annotation, value_arg, false); in ProcessAnnotationValue()
544 if (result_style == DexFile::kAllRaw) { in ProcessAnnotationValue()
563 case DexFile::kDexAnnotationEnum: { in ProcessAnnotationValue()
564 uint32_t index = DexFile::ReadUnsignedInt(annotation, value_arg, false); in ProcessAnnotationValue()
565 if (result_style == DexFile::kAllRaw) { in ProcessAnnotationValue()
585 case DexFile::kDexAnnotationArray: in ProcessAnnotationValue()
586 if (result_style == DexFile::kAllRaw || array_class == nullptr) { in ProcessAnnotationValue()
600 DexFile::AnnotationValue new_annotation_value; in ProcessAnnotationValue()
606 DexFile::kPrimitivesOrObjects)) { in ProcessAnnotationValue()
615 case DexFile::kDexAnnotationByte: in ProcessAnnotationValue()
619 case DexFile::kDexAnnotationShort: in ProcessAnnotationValue()
623 case DexFile::kDexAnnotationChar: in ProcessAnnotationValue()
627 case DexFile::kDexAnnotationInt: in ProcessAnnotationValue()
631 case DexFile::kDexAnnotationLong: in ProcessAnnotationValue()
635 case DexFile::kDexAnnotationFloat: in ProcessAnnotationValue()
639 case DexFile::kDexAnnotationDouble: in ProcessAnnotationValue()
643 case DexFile::kDexAnnotationBoolean: in ProcessAnnotationValue()
658 case DexFile::kDexAnnotationAnnotation: in ProcessAnnotationValue()
659 if (result_style == DexFile::kAllRaw) { in ProcessAnnotationValue()
669 case DexFile::kDexAnnotationNull: in ProcessAnnotationValue()
670 if (result_style == DexFile::kAllRaw) { in ProcessAnnotationValue()
686 if (result_style == DexFile::kAllObjects && primitive_type != Primitive::kPrimVoid) { in ProcessAnnotationValue()
701 const DexFile& dex_file = klass.GetDexFile(); in CreateAnnotationMember()
718 DexFile::AnnotationValue annotation_value; in CreateAnnotationMember()
723 DexFile::kAllObjects)) { in CreateAnnotationMember()
766 const DexFile& dex_file = klass.GetDexFile(); in GetAnnotationItemFromAnnotationSet()
817 const DexFile& dex_file = klass.GetDexFile(); in GetAnnotationValue()
823 DexFile::AnnotationValue annotation_value; in GetAnnotationValue()
829 DexFile::kAllObjects) in GetAnnotationValue()
834 DexFile::kAllObjects); in GetAnnotationValue()
848 const DexFile& dex_file = klass.GetDexFile(); in GetSignatureValue()
852 DexFile::kDexVisibilitySystem); in GetSignatureValue()
861 DexFile::kDexAnnotationArray); in GetSignatureValue()
871 const DexFile& dex_file = klass.GetDexFile(); in GetThrowsValue()
874 DexFile::kDexVisibilitySystem); in GetThrowsValue()
884 DexFile::kDexAnnotationArray); in GetThrowsValue()
896 const DexFile& dex_file = klass.GetDexFile(); in ProcessAnnotationSet()
954 const DexFile& dex_file = klass.GetDexFile(); in ProcessAnnotationSetRefList()
976 DexFile::kDexVisibilityRuntime); in ProcessAnnotationSetRefList()
998 DexFile::kDexVisibilityRuntime, in GetAnnotationForField()
1006 return ProcessAnnotationSet(field_class, annotation_set, DexFile::kDexVisibilityRuntime); in GetAnnotationsForField()
1027 field_class, annotation_set, DexFile::kDexVisibilityRuntime, annotation_class); in IsFieldAnnotationPresent()
1033 const DexFile* dex_file = &klass.GetDexFile(); in GetAnnotationDefaultValue()
1045 "Ldalvik/annotation/AnnotationDefault;", DexFile::kDexVisibilitySystem); in GetAnnotationDefaultValue()
1055 if ((header_byte & DexFile::kDexAnnotationValueTypeMask) != DexFile::kDexAnnotationAnnotation) { in GetAnnotationDefaultValue()
1062 DexFile::AnnotationValue annotation_value; in GetAnnotationDefaultValue()
1069 DexFile::kAllObjects)) { in GetAnnotationDefaultValue()
1082 DexFile::kDexVisibilityRuntime, annotation_class); in GetAnnotationForMethod()
1089 DexFile::kDexVisibilityRuntime); in GetAnnotationsForMethod()
1101 const DexFile* dex_file = method->GetDexFile(); in GetParameterAnnotations()
1117 const DexFile* dex_file = method->GetDexFile(); in GetNumberOfAnnotatedMethodParameters()
1134 const DexFile* dex_file = method->GetDexFile(); in GetAnnotationForMethodParameter()
1155 DexFile::kDexVisibilityRuntime, in GetAnnotationForMethodParameter()
1169 const DexFile* dex_file = method->GetDexFile(); in GetParametersMetadataForMethod()
1174 DexFile::kDexVisibilitySystem); in GetParametersMetadataForMethod()
1193 DexFile::kDexAnnotationArray)); in GetParametersMetadataForMethod()
1206 DexFile::kDexAnnotationArray)); in GetParametersMetadataForMethod()
1251 static bool IsMethodBuildAnnotationPresent(const DexFile& dex_file, in IsMethodBuildAnnotationPresent()
1257 if (!IsVisibilityCompatible(annotation_item->visibility_, DexFile::kDexVisibilityBuild)) { in IsMethodBuildAnnotationPresent()
1271 uint32_t GetNativeMethodAnnotationAccessFlags(const DexFile& dex_file, in GetNativeMethodAnnotationAccessFlags()
1298 bool FieldIsReachabilitySensitive(const DexFile& dex_file, in FieldIsReachabilitySensitive()
1308 "Ldalvik/annotation/optimization/ReachabilitySensitive;", DexFile::kDexVisibilityRuntime); in FieldIsReachabilitySensitive()
1313 bool MethodIsReachabilitySensitive(const DexFile& dex_file, in MethodIsReachabilitySensitive()
1323 "Ldalvik/annotation/optimization/ReachabilitySensitive;", DexFile::kDexVisibilityRuntime); in MethodIsReachabilitySensitive()
1327 static bool MethodIsReachabilitySensitive(const DexFile& dex_file, in MethodIsReachabilitySensitive()
1338 bool MethodContainsRSensitiveAccess(const DexFile& dex_file, in MethodContainsRSensitiveAccess()
1464 bool HasDeadReferenceSafeAnnotation(const DexFile& dex_file, in HasDeadReferenceSafeAnnotation()
1479 "Ldalvik/annotation/optimization/DeadReferenceSafe;", DexFile::kDexVisibilityRuntime); in HasDeadReferenceSafeAnnotation()
1492 DexFile::kDexVisibilityRuntime, in GetAnnotationForClass()
1499 return ProcessAnnotationSet(data, annotation_set, DexFile::kDexVisibilityRuntime); in GetAnnotationsForClass()
1510 DexFile::kDexVisibilitySystem); in GetDeclaredClasses()
1520 DexFile::kDexAnnotationArray); in GetDeclaredClasses()
1535 DexFile::kDexVisibilitySystem); in GetDeclaringClass()
1543 DexFile::kDexAnnotationType); in GetDeclaringClass()
1564 DexFile::kDexVisibilitySystem); in GetEnclosingClass()
1573 DexFile::AnnotationValue annotation_value; in GetEnclosingClass()
1578 DexFile::kAllRaw)) { in GetEnclosingClass()
1581 if (annotation_value.type_ != DexFile::kDexAnnotationMethod) { in GetEnclosingClass()
1605 DexFile::kDexVisibilitySystem); in GetEnclosingMethod()
1610 DexFile::kDexAnnotationMethod); in GetEnclosingMethod()
1623 DexFile::kDexVisibilitySystem); in GetInnerClass()
1632 DexFile::AnnotationValue annotation_value; in GetInnerClass()
1637 DexFile::kAllObjects)) { in GetInnerClass()
1640 if (annotation_value.type_ != DexFile::kDexAnnotationNull && in GetInnerClass()
1641 annotation_value.type_ != DexFile::kDexAnnotationString) { in GetInnerClass()
1656 DexFile::kDexVisibilitySystem); in GetInnerClassFlags()
1665 DexFile::AnnotationValue annotation_value; in GetInnerClassFlags()
1670 DexFile::kAllRaw)) { in GetInnerClassFlags()
1673 if (annotation_value.type_ != DexFile::kDexAnnotationInt) { in GetInnerClassFlags()
1709 DexFile::kDexVisibilitySystem); in GetSourceDebugExtension()
1719 DexFile::AnnotationValue annotation_value; in GetSourceDebugExtension()
1724 DexFile::kAllRaw)) { in GetSourceDebugExtension()
1727 if (annotation_value.type_ != DexFile::kDexAnnotationString) { in GetSourceDebugExtension()
1741 data, annotation_set, DexFile::kDexVisibilityRuntime, annotation_class); in IsClassAnnotationPresent()
1745 int32_t GetLineNumFromPC(const DexFile* dex_file, ArtMethod* method, uint32_t rel_pc) { in GetLineNumFromPC()