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 { 17 public: 18 DWARFDebugMacinfoEntry(); 19 20 ~DWARFDebugMacinfoEntry(); 21 22 uint8_t TypeCode()23 TypeCode() const 24 { 25 return m_type_code; 26 } 27 28 uint8_t GetLineNumber()29 GetLineNumber() const 30 { 31 return m_line; 32 } 33 34 void 35 Dump(lldb_private::Stream *s) const; 36 37 const char* 38 GetCString() const; 39 40 bool 41 Extract(const lldb_private::DataExtractor& mac_info_data, 42 lldb::offset_t* offset_ptr); 43 44 protected: 45 46 private: 47 uint8_t m_type_code; 48 dw_uleb128_t m_line; 49 union 50 { 51 dw_uleb128_t file_idx; 52 const char* cstr; 53 } m_op2; 54 }; 55 56 57 #endif // SymbolFileDWARF_DWARFDebugMacinfoEntry_h_ 58