Lines Matching refs:entry

103     for (auto& entry : strings_) {
104 entry.second.idx = string_idx;
106 entry.second.data_offset = data_section_size;
107 data_section_size += entry.first.length() + 1u /* length */ + 1u /* null-terminator */;
114 for (auto& entry : types_) {
115 entry.second = type_idx;
123 for (auto& entry : protos_) {
124 entry.second.idx = proto_idx;
126 size_t num_args = entry.first.args.size();
128 entry.second.data_offset = RoundUp(data_section_size, 4u);
129 data_section_size = entry.second.data_offset + 4u + num_args * sizeof(DexFile::TypeItem);
131 entry.second.data_offset = 0u;
139 for (auto& entry : fields_) {
140 entry.second = field_idx;
148 for (auto& entry : methods_) {
149 entry.second = method_idx;
167 for (const auto& entry : strings_) {
168 CHECK_LT(entry.first.size(), 128u);
169 uint32_t raw_offset = data_section_offset + entry.second.data_offset;
170 dex_file_data_[raw_offset] = static_cast<uint8_t>(entry.first.size());
171 std::memcpy(&dex_file_data_[raw_offset + 1], entry.first.c_str(), entry.first.size() + 1);
172 Write32(string_ids_offset + entry.second.idx * sizeof(DexFile::StringId), raw_offset);
175 for (const auto& entry : types_) {
176 Write32(type_ids_offset + entry.second * sizeof(DexFile::TypeId), GetStringIdx(entry.first));
180 for (const auto& entry : protos_) {
181 size_t num_args = entry.first.args.size();
183 (num_args != 0u) ? data_section_offset + entry.second.data_offset : 0u;
184 uint32_t raw_offset = proto_ids_offset + entry.second.idx * sizeof(DexFile::ProtoId);
185 Write32(raw_offset + 0u, GetStringIdx(entry.first.shorty));
186 Write16(raw_offset + 4u, GetTypeIdx(entry.first.return_type));
189 CHECK_NE(entry.second.data_offset, 0u);
193 GetTypeIdx(entry.first.args[i]));
198 for (const auto& entry : fields_) {
199 uint32_t raw_offset = field_ids_offset + entry.second * sizeof(DexFile::FieldId);
200 Write16(raw_offset + 0u, GetTypeIdx(entry.first.class_descriptor));
201 Write16(raw_offset + 2u, GetTypeIdx(entry.first.type));
202 Write32(raw_offset + 4u, GetStringIdx(entry.first.name));
205 for (const auto& entry : methods_) {
206 uint32_t raw_offset = method_ids_offset + entry.second * sizeof(DexFile::MethodId);
207 Write16(raw_offset + 0u, GetTypeIdx(entry.first.class_descriptor));
208 auto it = protos_.find(*entry.first.proto);
211 Write32(raw_offset + 4u, GetStringIdx(entry.first.name));