27 return DIERef(
m_cu->GetSymbolFileDWARF().GetFileIndex(),
28 m_cu->GetDebugSection(),
m_die->GetOffset());
35 return llvm::dwarf::DW_TAG_null;
39 const char *fail_value)
const {
41 return m_die->GetAttributeValueAsString(
GetCU(), attr, fail_value);
47 uint64_t fail_value)
const {
49 return m_die->GetAttributeValueAsUnsigned(
GetCU(), attr, fail_value);
54std::optional<uint64_t>
57 return m_die->GetAttributeValueAsOptionalUnsigned(
GetCU(), attr);
62 uint64_t fail_value)
const {
64 return m_die->GetAttributeValueAsAddress(
GetCU(), attr, fail_value);
70 const std::optional<DIERef> &ref = this->
GetDIERef();
87 return dwarf->GetObjectFile()->GetModule();
94 return m_die->GetOffset();
101 return &
m_cu->GetSymbolFileDWARF();
112 return m_die->GetAttributes(
m_cu, recurse);
123 return !(lhs == rhs);
131 return m_cu->GetData();
Identifies a DWARF debug info entry within a given Module.
DWARFAttributes GetAttributes(Recurse recurse=Recurse::yes) const
std::optional< uint64_t > GetAttributeValueAsOptionalUnsigned(const dw_attr_t attr) const
const DWARFDataExtractor & GetData() const
const char * GetAttributeValueAsString(const dw_attr_t attr, const char *fail_value) const
std::optional< DIERef > GetDIERef() const
lldb::ModuleSP GetModule() const
SymbolFileDWARF * GetDWARF() const
DWARFDebugInfoEntry * m_die
DWARFDebugInfoEntry * GetDIE() const
DWARFUnit * GetCU() const
const char * GetName() const
uint64_t GetAttributeValueAsUnsigned(const dw_attr_t attr, uint64_t fail_value) const
dw_offset_t GetOffset() const
uint64_t GetAttributeValueAsAddress(const dw_attr_t attr, uint64_t fail_value) const
lldb::user_id_t GetID() const
#define DW_INVALID_OFFSET
llvm::dwarf::Tag dw_tag_t
llvm::dwarf::Attribute dw_attr_t
bool operator!=(const DWARFBaseDIE &lhs, const DWARFBaseDIE &rhs)
bool operator==(const DWARFBaseDIE &lhs, const DWARFBaseDIE &rhs)
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Module > ModuleSP