Lines Matching defs:die
33 /// attributes) a given DIE. For convenience, the starting die is included in
53 DWARFDIE die = m_worklist.back();
59 if (DWARFDIE d = die.GetReferencedDIE(attr))
60 if (m_seen.insert(die.GetDIE()).second)
66 /// An iterator starting at die d.
87 elaborating_dies(const DWARFDIE &die) {
88 return llvm::make_range(ElaboratingDIEIterator(die),
375 lldb_private::Type *DWARFDIE::ResolveTypeUID(const DWARFDIE &die) const {
377 return dwarf->ResolveTypeUID(die, true);
381 static CompilerContext GetContextEntry(DWARFDIE die,
383 auto ctx = [die](CompilerContextKind kind) {
384 return CompilerContext(kind, ConstString(die.GetName()));
387 switch (die.Tag()) {
405 CompilerContextKind kind = die.Tag() == DW_TAG_union_type
408 llvm::StringRef name = die.GetName();
415 die);
423 static void GetDeclContextImpl(DWARFDIE die, bool derive_template_names,
427 while (die && seen.insert(die.GetID()).second) {
429 if (DWARFDIE spec = die.GetReferencedDIE(DW_AT_specification)) {
430 die = spec;
435 switch (die.Tag()) {
445 context.push_back(GetContextEntry(die, derive_template_names));
451 die = die.GetParent();
464 static void GetTypeLookupContextImpl(DWARFDIE die, bool derive_template_names,
468 while (die && seen.insert(die.GetID()).second) {
470 switch (die.Tag()) {
479 context.push_back(GetContextEntry(die, derive_template_names));
498 die = die.GetParent();
511 static DWARFDeclContext GetDWARFDeclContextImpl(DWARFDIE die) {
513 while (die) {
514 const dw_tag_t tag = die.Tag();
517 dwarf_decl_ctx.AppendDeclContext(tag, die.GetName());
518 DWARFDIE parent_decl_ctx_die = die.GetParentDeclContextDIE();
519 if (parent_decl_ctx_die == die)
521 die = parent_decl_ctx_die;
530 static DWARFDIE GetParentDeclContextDIEImpl(DWARFDIE die) {
531 DWARFDIE orig_die = die;
532 while (die) {
536 if (die != orig_die) {
537 switch (die.Tag()) {
544 return die;
551 if (DWARFDIE spec_die = die.GetReferencedDIE(DW_AT_specification)) {
556 if (DWARFDIE abs_die = die.GetReferencedDIE(DW_AT_abstract_origin)) {
561 die = die.GetParent();