diff options
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h')
-rw-r--r-- | lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h | 106 |
1 files changed, 55 insertions, 51 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h index f5ca9cce525..317e710e6d9 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h @@ -10,72 +10,76 @@ #ifndef SymbolFileDWARF_DWARFAttribute_h_ #define SymbolFileDWARF_DWARFAttribute_h_ -#include "llvm/ADT/SmallVector.h" #include "DWARFDefines.h" +#include "llvm/ADT/SmallVector.h" #include <vector> class DWARFCompileUnit; class DWARFFormValue; -class DWARFAttribute -{ +class DWARFAttribute { public: - DWARFAttribute(dw_attr_t attr, dw_form_t form) : - m_attr (attr), - m_form (form) - { - } + DWARFAttribute(dw_attr_t attr, dw_form_t form) : m_attr(attr), m_form(form) {} - void set (dw_attr_t attr, dw_form_t form) { m_attr = attr; m_form = form; } - void set_attr (dw_attr_t attr) { m_attr = attr; } - void set_form (dw_form_t form) { m_form = form; } - dw_attr_t get_attr () const { return m_attr; } - dw_form_t get_form () const { return m_form; } - void get (dw_attr_t& attr, dw_form_t& form) const - { - attr = m_attr; - form = m_form; - } - bool operator == (const DWARFAttribute& rhs) const { return m_attr == rhs.m_attr && m_form == rhs.m_form; } - typedef std::vector<DWARFAttribute> collection; - typedef collection::iterator iterator; - typedef collection::const_iterator const_iterator; + void set(dw_attr_t attr, dw_form_t form) { + m_attr = attr; + m_form = form; + } + void set_attr(dw_attr_t attr) { m_attr = attr; } + void set_form(dw_form_t form) { m_form = form; } + dw_attr_t get_attr() const { return m_attr; } + dw_form_t get_form() const { return m_form; } + void get(dw_attr_t &attr, dw_form_t &form) const { + attr = m_attr; + form = m_form; + } + bool operator==(const DWARFAttribute &rhs) const { + return m_attr == rhs.m_attr && m_form == rhs.m_form; + } + typedef std::vector<DWARFAttribute> collection; + typedef collection::iterator iterator; + typedef collection::const_iterator const_iterator; protected: - dw_attr_t m_attr; - dw_form_t m_form; + dw_attr_t m_attr; + dw_form_t m_form; }; - -class DWARFAttributes -{ +class DWARFAttributes { public: - DWARFAttributes(); - ~DWARFAttributes(); + DWARFAttributes(); + ~DWARFAttributes(); - void Append(const DWARFCompileUnit *cu, dw_offset_t attr_die_offset, dw_attr_t attr, dw_form_t form); - const DWARFCompileUnit * CompileUnitAtIndex(uint32_t i) const { return m_infos[i].cu; } - dw_offset_t DIEOffsetAtIndex(uint32_t i) const { return m_infos[i].die_offset; } - dw_attr_t AttributeAtIndex(uint32_t i) const { return m_infos[i].attr.get_attr(); } - dw_attr_t FormAtIndex(uint32_t i) const { return m_infos[i].attr.get_form(); } - bool ExtractFormValueAtIndex (uint32_t i, DWARFFormValue &form_value) const; - uint64_t FormValueAsUnsignedAtIndex (uint32_t i, uint64_t fail_value) const; - uint64_t FormValueAsUnsigned (dw_attr_t attr, uint64_t fail_value) const; - uint32_t FindAttributeIndex(dw_attr_t attr) const; - bool ContainsAttribute(dw_attr_t attr) const; - bool RemoveAttribute(dw_attr_t attr); - void Clear() { m_infos.clear(); } - size_t Size() const { return m_infos.size(); } + void Append(const DWARFCompileUnit *cu, dw_offset_t attr_die_offset, + dw_attr_t attr, dw_form_t form); + const DWARFCompileUnit *CompileUnitAtIndex(uint32_t i) const { + return m_infos[i].cu; + } + dw_offset_t DIEOffsetAtIndex(uint32_t i) const { + return m_infos[i].die_offset; + } + dw_attr_t AttributeAtIndex(uint32_t i) const { + return m_infos[i].attr.get_attr(); + } + dw_attr_t FormAtIndex(uint32_t i) const { return m_infos[i].attr.get_form(); } + bool ExtractFormValueAtIndex(uint32_t i, DWARFFormValue &form_value) const; + uint64_t FormValueAsUnsignedAtIndex(uint32_t i, uint64_t fail_value) const; + uint64_t FormValueAsUnsigned(dw_attr_t attr, uint64_t fail_value) const; + uint32_t FindAttributeIndex(dw_attr_t attr) const; + bool ContainsAttribute(dw_attr_t attr) const; + bool RemoveAttribute(dw_attr_t attr); + void Clear() { m_infos.clear(); } + size_t Size() const { return m_infos.size(); } protected: - struct AttributeValue - { - const DWARFCompileUnit *cu; // Keep the compile unit with each attribute in case we have DW_FORM_ref_addr values - dw_offset_t die_offset; - DWARFAttribute attr; - }; - typedef llvm::SmallVector<AttributeValue, 8> collection; - collection m_infos; + struct AttributeValue { + const DWARFCompileUnit *cu; // Keep the compile unit with each attribute in + // case we have DW_FORM_ref_addr values + dw_offset_t die_offset; + DWARFAttribute attr; + }; + typedef llvm::SmallVector<AttributeValue, 8> collection; + collection m_infos; }; -#endif // SymbolFileDWARF_DWARFAttribute_h_ +#endif // SymbolFileDWARF_DWARFAttribute_h_ |