Home | History | Annotate | Download | only in DWARF
      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
     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 
     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