Lines Matching defs:index_header
229 Span<const EntityId> GetClassIndex(const IndexHeader *index_header) const
231 ThrowIfWithCheck(index_header == nullptr, File::NULL_INDEX_HEADER, File::GET_CLASS_INDEX);
234 ASSERT(index_header != nullptr);
235 auto class_idx_size = index_header->class_idx_size * EntityId::GetSize();
236 ThrowIfWithCheck(index_header->class_idx_off > header->file_size || class_idx_size > header->file_size ||
237 index_header->class_idx_off > header->file_size - class_idx_size, File::INVALID_INDEX_HEADER,
239 auto sp = file.SubSpan(index_header->class_idx_off, index_header->class_idx_size * EntityId::GetSize());
240 return Span(reinterpret_cast<const EntityId *>(sp.data()), index_header->class_idx_size);
245 auto *index_header = GetIndexHeader(id);
246 return GetClassIndex(index_header);
249 Span<const EntityId> GetMethodIndex(const IndexHeader *index_header) const
251 ThrowIfWithCheck(index_header == nullptr, File::NULL_INDEX_HEADER, File::GET_METHOD_INDEX);
254 ASSERT(index_header != nullptr);
255 auto method_idx_size = index_header->method_idx_size * EntityId::GetSize();
256 ThrowIfWithCheck(index_header->method_idx_off > header->file_size || method_idx_size > header->file_size ||
257 index_header->method_idx_off > header->file_size - method_idx_size, File::INVALID_INDEX_HEADER,
259 auto sp = file.SubSpan(index_header->method_idx_off, index_header->method_idx_size * EntityId::GetSize());
260 return Span(reinterpret_cast<const EntityId *>(sp.data()), index_header->method_idx_size);
265 auto *index_header = GetIndexHeader(id);
266 return GetMethodIndex(index_header);
269 Span<const EntityId> GetFieldIndex(const IndexHeader *index_header) const
271 ThrowIfWithCheck(index_header == nullptr, File::NULL_INDEX_HEADER, File::GET_FIELD_INDEX);
274 ASSERT(index_header != nullptr);
275 auto field_idx_size = index_header->field_idx_size * EntityId::GetSize();
276 ThrowIfWithCheck(index_header->field_idx_off > header->file_size || field_idx_size > header->file_size ||
277 index_header->field_idx_off > header->file_size - field_idx_size, File::INVALID_INDEX_HEADER,
279 auto sp = file.SubSpan(index_header->field_idx_off, index_header->field_idx_size * EntityId::GetSize());
280 return Span(reinterpret_cast<const EntityId *>(sp.data()), index_header->field_idx_size);
285 auto *index_header = GetIndexHeader(id);
286 return GetFieldIndex(index_header);
289 Span<const EntityId> GetProtoIndex(const IndexHeader *index_header) const
291 ThrowIfWithCheck(index_header == nullptr, File::NULL_INDEX_HEADER, File::GET_PROTO_INDEX);
294 ASSERT(index_header != nullptr);
295 auto proto_idx_size = index_header->proto_idx_size * EntityId::GetSize();
296 ThrowIfWithCheck(index_header->proto_idx_off > header->file_size || proto_idx_size > header->file_size ||
297 index_header->proto_idx_off > header->file_size - proto_idx_size, File::INVALID_INDEX_HEADER,
299 auto sp = file.SubSpan(index_header->proto_idx_off, index_header->proto_idx_size * EntityId::GetSize());
300 return Span(reinterpret_cast<const EntityId *>(sp.data()), index_header->proto_idx_size);
305 auto *index_header = GetIndexHeader(id);
306 return GetProtoIndex(index_header);
438 static constexpr const char *NULL_INDEX_HEADER = "index_header is null";
439 static constexpr const char *INVALID_INDEX_HEADER = "index_header is invalid";