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 15class DWARFDebugMacinfoEntry 16{ 17public: 18 DWARFDebugMacinfoEntry(); 19 20 ~DWARFDebugMacinfoEntry(); 21 22 uint8_t 23 TypeCode() const 24 { 25 return m_type_code; 26 } 27 28 uint8_t 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 44protected: 45 46private: 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