Home | History | Annotate | Download | only in runtime

Lines Matching refs:item

295   const DexFile::MapItem* item = map->list_;
304 if (!CheckListSize(item, count, sizeof(DexFile::MapItem), "map size")) {
310 if (UNLIKELY(last_offset >= item->offset_ && i != 0)) {
311 ErrorStringPrintf("Out of order map item: %x then %x", last_offset, item->offset_);
314 if (UNLIKELY(item->offset_ >= header_->file_size_)) {
315 ErrorStringPrintf("Map item after end of file: %x, size %x",
316 item->offset_, header_->file_size_);
320 if (IsDataSectionType(item->type_)) {
321 uint32_t icount = item->size_;
330 uint32_t bit = MapTypeToBitMask(item->type_);
333 ErrorStringPrintf("Unknown map section type %x", item->type_);
338 ErrorStringPrintf("Duplicate map section of type %x", item->type_);
343 last_offset = item->offset_;
344 item++;
1029 const DexFile::AnnotationsDirectoryItem* item =
1031 if (!CheckListSize(item, 1, sizeof(DexFile::AnnotationsDirectoryItem), "annotations_directory")) {
1037 reinterpret_cast<const DexFile::FieldAnnotationsItem*>(item + 1);
1038 uint32_t field_count = item->fields_size_;
1056 uint32_t method_count = item->methods_size_;
1075 uint32_t parameter_count = item->parameters_size_;
1228 ErrorStringPrintf("Unknown map item type %x", type);
1238 ErrorStringPrintf("Item %d at ends out of bounds", i);
1321 const DexFile::MapItem* item = map->list_;
1329 uint32_t section_offset = item->offset_;
1330 uint32_t section_count = item->size_;
1331 uint16_t type = item->type_;
1341 // Check each item based on its type.
1395 ErrorStringPrintf("Unknown map item type %x", type);
1399 item++;
1439 const DexFile::AnnotationsDirectoryItem* item =
1443 if (item->fields_size_ != 0) {
1444 DexFile::FieldAnnotationsItem* field_items = (DexFile::FieldAnnotationsItem*) (item + 1);
1450 if (item->methods_size_ != 0) {
1451 DexFile::MethodAnnotationsItem* method_items = (DexFile::MethodAnnotationsItem*) (item + 1);
1457 if (item->parameters_size_ != 0) {
1458 item + 1);
1468 const DexFile::StringId* item = reinterpret_cast<const DexFile::StringId*>(ptr_);
1471 if (!CheckOffsetToTypeMap(item->string_data_off_, DexFile::kDexTypeStringDataItem)) {
1479 const char* str = dex_file_->GetStringData(*item);
1491 const DexFile::TypeId* item = reinterpret_cast<const DexFile::TypeId*>(ptr_);
1493 LOAD_STRING(descriptor, item->descriptor_idx_, "inter_type_id_item descriptor_idx")
1504 if (UNLIKELY(prev_item->descriptor_idx_ >= item->descriptor_idx_)) {
1506 prev_item->descriptor_idx_, item->descriptor_idx_);
1516 const DexFile::ProtoId* item = reinterpret_cast<const DexFile::ProtoId*>(ptr_);
1518 LOAD_STRING(shorty, item->shorty_idx_, "inter_proto_id_item shorty_idx")
1520 if (item->parameters_off_ != 0 &&
1521 !CheckOffsetToTypeMap(item->parameters_off_, DexFile::kDexTypeTypeList)) {
1526 LOAD_STRING_BY_TYPE(return_type, item->return_type_idx_, "inter_proto_id_item return_type_idx")
1532 DexFileParameterIterator it(*dex_file_, *item);
1553 if (UNLIKELY(prev->return_type_idx_ > item->return_type_idx_)) {
1556 } else if (prev->return_type_idx_ == item->return_type_idx_) {
1557 DexFileParameterIterator curr_it(*dex_file_, *item);
1589 const DexFile::FieldId* item = reinterpret_cast<const DexFile::FieldId*>(ptr_);
1592 LOAD_STRING_BY_TYPE(class_descriptor, item->class_idx_, "inter_field_id_item class_idx")
1599 LOAD_STRING_BY_TYPE(type_descriptor, item->type_idx_, "inter_field_id_item type_idx")
1606 LOAD_STRING(descriptor, item->name_idx_, "inter_field_id_item name_idx")
1615 if (UNLIKELY(prev_item->class_idx_ > item->class_idx_)) {
1618 } else if (prev_item->class_idx_ == item->class_idx_) {
1619 if (UNLIKELY(prev_item->name_idx_ > item->name_idx_)) {
1622 } else if (prev_item->name_idx_ == item->name_idx_) {
1623 if (UNLIKELY(prev_item->type_idx_ >= item->type_idx_)) {
1636 const DexFile::MethodId* item = reinterpret_cast<const DexFile::MethodId*>(ptr_);
1639 LOAD_STRING_BY_TYPE(class_descriptor, item->class_idx_, "inter_method_id_item class_idx")
1647 LOAD_STRING(descriptor, item->name_idx_, "inter_method_id_item name_idx")
1654 if (UNLIKELY(!CheckIndex(item->proto_idx_, dex_file_->NumProtoIds(),
1662 if (UNLIKELY(prev_item->class_idx_ > item->class_idx_)) {
1665 } else if (prev_item->class_idx_ == item->class_idx_) {
1666 if (UNLIKELY(prev_item->name_idx_ > item->name_idx_)) {
1669 } else if (prev_item->name_idx_ == item->name_idx_) {
1670 if (UNLIKELY(prev_item->proto_idx_ >= item->proto_idx_)) {
1683 const DexFile::ClassDef* item = reinterpret_cast<const DexFile::ClassDef*>(ptr_);
1686 if (defined_classes_.find(item->class_idx_) != defined_classes_.end()) {
1687 ErrorStringPrintf("Redefinition of class with type idx: '%d'", item->class_idx_);
1690 defined_classes_.insert(item->class_idx_);
1692 LOAD_STRING_BY_TYPE(class_descriptor, item->class_idx_, "inter_class_def_item class_idx")
1699 if ((item->access_flags_ & ~kAccJavaFlagsMask) != 0) {
1700 ErrorStringPrintf("Invalid class flags: '%d'", item->access_flags_);
1704 if (item->interfaces_off_ != 0 &&
1705 !CheckOffsetToTypeMap(item->interfaces_off_, DexFile::kDexTypeTypeList)) {
1708 if (item->annotations_off_ != 0 &&
1709 !CheckOffsetToTypeMap(item->annotations_off_, DexFile::kDexTypeAnnotationsDirectoryItem)) {
1712 if (item->class_data_off_ != 0 &&
1713 !CheckOffsetToTypeMap(item->class_data_off_, DexFile::kDexTypeClassDataItem)) {
1716 if (item->static_values_off_ != 0 &&
1717 !CheckOffsetToTypeMap(item->static_values_off_, DexFile::kDexTypeEncodedArrayItem)) {
1721 if (item->superclass_idx_ != DexFile::kDexNoIndex16) {
1722 LOAD_STRING_BY_TYPE(superclass_descriptor, item->superclass_idx_,
1730 const DexFile::TypeList* interfaces = dex_file_->GetInterfacesList(*item);
1761 if (item->class_data_off_ != 0) {
1762 const byte* data = begin_ + item->class_data_off_;
1768 if (UNLIKELY((data_definer != item->class_idx_) && (data_definer != DexFile::kDexNoIndex16))) {
1775 if (item->annotations_off_ != 0) {
1776 const byte* data = begin_ + item->annotations_off_;
1782 if (UNLIKELY((annotations_definer != item->class_idx_) &&
1796 const DexFile::AnnotationSetRefItem* item = list->list_;
1800 if (item->annotations_off_ != 0 &&
1801 !CheckOffsetToTypeMap(item->annotations_off_, DexFile::kDexTypeAnnotationSetItem)) {
1804 item++;
1807 ptr_ = reinterpret_cast<const byte*>(item);
1873 const DexFile::AnnotationsDirectoryItem* item =
1881 if (item->class_annotations_off_ != 0 &&
1882 !CheckOffsetToTypeMap(item->class_annotations_off_, DexFile::kDexTypeAnnotationSetItem)) {
1888 reinterpret_cast<const DexFile::FieldAnnotationsItem*>(item + 1);
1889 uint32_t field_count = item->fields_size_;
1906 uint32_t method_count = item->methods_size_;
1923 uint32_t parameter_count = item->parameters_size_;
2024 ErrorStringPrintf("Unknown map item type %x", type);
2037 const DexFile::MapItem* item = map->list_;
2042 uint32_t section_offset = item->offset_;
2043 uint32_t section_count = item->size_;
2044 uint16_t type = item->type_;
2072 ErrorStringPrintf("Unknown map item type %x", type);
2076 item++;