Lines Matching defs:EntityId

102     class EntityId {
104 explicit constexpr EntityId(uint32_t offset) : offset_(offset) {}
106 EntityId() = default;
108 ~EntityId() = default;
125 friend bool operator<(const EntityId &l, const EntityId &r)
130 friend bool operator==(const EntityId &l, const EntityId &r)
135 friend std::ostream &operator<<(std::ostream &stream, const EntityId &id)
146 StringData GetStringData(EntityId id) const;
147 EntityId GetLiteralArraysId() const;
149 EntityId GetClassId(const uint8_t *mutf8_name) const;
151 EntityId GetClassIdFromClassHashTable(const uint8_t *mutf8_name) const;
168 bool IsExternal(EntityId id) const
176 EntityId GetIdFromPointer(const uint8_t *ptr) const
178 return EntityId(ptr - GetBase());
181 Span<const uint8_t> GetSpanFromId(EntityId id) const
214 const IndexHeader *GetIndexHeader(EntityId id) const
229 Span<const EntityId> GetClassIndex(const IndexHeader *index_header) const
235 auto class_idx_size = index_header->class_idx_size * EntityId::GetSize();
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);
243 Span<const EntityId> GetClassIndex(EntityId id) const
249 Span<const EntityId> GetMethodIndex(const IndexHeader *index_header) const
255 auto method_idx_size = index_header->method_idx_size * EntityId::GetSize();
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);
263 Span<const EntityId> GetMethodIndex(EntityId id) const
269 Span<const EntityId> GetFieldIndex(const IndexHeader *index_header) const
275 auto field_idx_size = index_header->field_idx_size * EntityId::GetSize();
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);
283 Span<const EntityId> GetFieldIndex(EntityId id) const
289 Span<const EntityId> GetProtoIndex(const IndexHeader *index_header) const
295 auto proto_idx_size = index_header->proto_idx_size * EntityId::GetSize();
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);
303 Span<const EntityId> GetProtoIndex(EntityId id) const
309 Span<const EntityId> GetLineNumberProgramIndex() const
313 Span lnp_idx_data = file.SubSpan(header->lnp_idx_off, header->num_lnps * EntityId::GetSize());
314 return Span(reinterpret_cast<const EntityId *>(lnp_idx_data.data()), header->num_lnps);
317 EntityId ResolveClassIndex(EntityId id, Index idx) const
321 return EntityId();
326 EntityId ResolveMethodIndex(EntityId id, Index idx) const
330 return EntityId();
335 EntityId ResolveOffsetByIndex(EntityId id, Index idx) const
339 return EntityId();
344 EntityId ResolveFieldIndex(EntityId id, Index idx) const
348 return EntityId();
353 EntityId ResolveProtoIndex(EntityId id, Index idx) const
357 return EntityId();
362 EntityId ResolveLineNumberProgramIndex(Index32 idx) const
366 return EntityId();
536 struct hash<panda::panda_file::File::EntityId> {
537 std::size_t operator()(panda::panda_file::File::EntityId id) const