Lines Matching defs:entry
64 DebugNamesDWARFIndex::GetForeignTypeUnit(const DebugNames::Entry &entry) const {
65 std::optional<uint64_t> type_sig = entry.getForeignTUTypeSignature();
69 // Ask the entry for the skeleton compile unit offset and fetch the .dwo
73 std::optional<uint64_t> cu_offset = entry.getRelatedCUOffset();
101 // then we need to ignore this accelerator table entry as the type unit that
104 // need to find the skeleton compile unit for this entry.
121 DebugNamesDWARFIndex::GetNonSkeletonUnit(const DebugNames::Entry &entry) const {
123 if (std::optional<DWARFTypeUnit *> foreign_tu = GetForeignTypeUnit(entry))
128 std::optional<uint64_t> unit_offset = entry.getCUOffset();
130 unit_offset = entry.getLocalTUOffset();
139 DWARFDIE DebugNamesDWARFIndex::GetDIE(const DebugNames::Entry &entry) const {
140 DWARFUnit *unit = GetNonSkeletonUnit(entry);
141 std::optional<uint64_t> die_offset = entry.getDIEUnitOffset();
155 const DebugNames::Entry &entry,
157 DWARFDIE die = GetDIE(entry);
181 for (const DebugNames::Entry &entry :
183 if (entry.tag() != DW_TAG_variable)
186 if (!ProcessEntry(entry, callback))
223 // Check if this name index contains an entry for the given CU.
263 for (const DebugNames::Entry &entry :
265 if (entry.tag() != DW_TAG_structure_type &&
266 entry.tag() != DW_TAG_class_type)
269 DWARFDIE die = GetDIE(entry);
293 /// If `entry` and all of its parents have an `IDX_parent`, use that information
295 /// `entry` itself is not included in the list.
299 getParentChain(Entry entry,
304 if (!entry.hasParentInformation())
307 llvm::Expected<std::optional<Entry>> parent = entry.getParentDIEEntry();
312 "Failed to extract parent entry from a non-empty IDX_parent");
321 entry = **parent;
339 // For each entry, grab its parent chain and check if we have a match.
340 for (const DebugNames::Entry &entry :
342 if (!isType(entry.tag()))
345 // If we get a NULL foreign_tu back, the entry doesn't match the type unit
348 std::optional<DWARFTypeUnit *> foreign_tu = GetForeignTypeUnit(entry);
355 getParentChain(entry, parent_names.size() + 1);
359 if (!ProcessEntry(entry, [&](DWARFDIE die) {
367 if (!ProcessEntry(entry, callback))
376 const DebugNames::Entry &entry) const {
378 // Peek at the AT_name of `entry` and test equality to `name`.
379 auto maybe_dieoffset = entry.getDIEUnitOffset();
382 DWARFUnit *unit = GetNonSkeletonUnit(entry);
397 const DebugNames::Entry &entry) {
398 // Peek at the AT_name of `entry` and test equality to `name`.
399 auto maybe_dieoffset = entry.getDIEUnitOffset();
402 DWARFUnit *unit = GetNonSkeletonUnit(entry);
446 // Name does not match, try next parent_chain entry if the current entry
458 for (const DebugNames::Entry &entry :
460 if (isType(entry.tag())) {
461 if (!ProcessEntry(entry, callback))
473 for (const DebugNames::Entry &entry : m_debug_names_up->equal_range(name)) {
474 if (entry.tag() == context[0].tag) {
475 if (!ProcessEntry(entry, callback))
485 for (const DebugNames::Entry &entry :
487 lldb_private::dwarf::Tag entry_tag = entry.tag();
490 if (!ProcessEntry(entry, callback))
504 // Skip the last entry as it's the type we're matching parents for.
530 // For each entry, grab its parent chain and check if we have a match.
531 for (const DebugNames::Entry &entry : m_debug_names_up->equal_range(name)) {
532 if (!isType(entry.tag()))
535 // If we get a NULL foreign_tu back, the entry doesn't match the type unit
538 std::optional<DWARFTypeUnit *> foreign_tu = GetForeignTypeUnit(entry);
543 getParentChain(entry);
546 if (!ProcessEntry(entry, [&](DWARFDIE die) {
554 if (!ProcessEntry(entry, [&](DWARFDIE die) {
575 for (const DebugNames::Entry &entry :
577 lldb_private::dwarf::Tag entry_tag = entry.tag();
581 getParentChain(entry);
584 if (!ProcessEntry(entry, [&](DWARFDIE die) {
593 if (!ProcessEntry(entry, [&](DWARFDIE die) {
613 for (const DebugNames::Entry &entry :
615 Tag tag = entry.tag();
619 if (DWARFDIE die = GetDIE(entry)) {