1 //===-- DWARFDebugMacinfoEntry.h --------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef SymbolFileDWARF_DWARFDebugMacinfoEntry_h_ 11 #define SymbolFileDWARF_DWARFDebugMacinfoEntry_h_ 12 13 #include "SymbolFileDWARF.h" 14 15 class DWARFDebugMacinfoEntry { 16 public: 17 DWARFDebugMacinfoEntry(); 18 19 ~DWARFDebugMacinfoEntry(); 20 TypeCode()21 uint8_t TypeCode() const { return m_type_code; } 22 GetLineNumber()23 uint8_t GetLineNumber() const { return m_line; } 24 25 void Dump(lldb_private::Stream *s) const; 26 27 const char *GetCString() const; 28 29 bool Extract(const lldb_private::DWARFDataExtractor &mac_info_data, 30 lldb::offset_t *offset_ptr); 31 32 protected: 33 private: 34 uint8_t m_type_code; 35 dw_uleb128_t m_line; 36 union { 37 dw_uleb128_t file_idx; 38 const char *cstr; 39 } m_op2; 40 }; 41 42 #endif // SymbolFileDWARF_DWARFDebugMacinfoEntry_h_ 43