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 17using namespace lldb_private; 18using namespace std; 19 20DWARFDebugMacinfo::DWARFDebugMacinfo() 21{ 22} 23 24DWARFDebugMacinfo::~DWARFDebugMacinfo() 25{ 26} 27 28void 29DWARFDebugMacinfo::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} 49