]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.cpp
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / llvm / tools / lldb / source / Plugins / SymbolFile / DWARF / DWARFDebugMacinfo.cpp
1 //===-- DWARFDebugMacinfo.cpp -----------------------------------*- 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 #include "DWARFDebugMacinfo.h"
11
12 #include "DWARFDebugMacinfoEntry.h"
13 #include "SymbolFileDWARF.h"
14
15 #include "lldb/Core/Stream.h"
16
17 using namespace lldb_private;
18 using namespace std;
19
20 DWARFDebugMacinfo::DWARFDebugMacinfo()
21 {
22 }
23
24 DWARFDebugMacinfo::~DWARFDebugMacinfo()
25 {
26 }
27
28 void
29 DWARFDebugMacinfo::Dump(Stream *s, const DataExtractor& macinfo_data, lldb::offset_t offset)
30 {
31     DWARFDebugMacinfoEntry maninfo_entry;
32     if (macinfo_data.GetByteSize() == 0)
33     {
34         s->PutCString("< EMPTY >\n");
35         return;
36     }
37     if (offset == LLDB_INVALID_OFFSET)
38     {
39         offset = 0;
40         while (maninfo_entry.Extract(macinfo_data, &offset))
41             maninfo_entry.Dump(s);
42     }
43     else
44     {
45         if (maninfo_entry.Extract(macinfo_data, &offset))
46             maninfo_entry.Dump(s);
47     }
48 }