DWARFDebugMacinfo.cpp revision 263363
155714Skris//===-- DWARFDebugMacinfo.cpp -----------------------------------*- C++ -*-===//
255714Skris//
355714Skris//                     The LLVM Compiler Infrastructure
455714Skris//
555714Skris// This file is distributed under the University of Illinois Open Source
655714Skris// License. See LICENSE.TXT for details.
755714Skris//
855714Skris//===----------------------------------------------------------------------===//
955714Skris
1055714Skris#include "DWARFDebugMacinfo.h"
1155714Skris
1255714Skris#include "DWARFDebugMacinfoEntry.h"
1355714Skris#include "SymbolFileDWARF.h"
1455714Skris
1555714Skris#include "lldb/Core/Stream.h"
1655714Skris
1755714Skrisusing namespace lldb_private;
1855714Skrisusing namespace std;
1955714Skris
2055714SkrisDWARFDebugMacinfo::DWARFDebugMacinfo()
2155714Skris{
2255714Skris}
2355714Skris
2455714SkrisDWARFDebugMacinfo::~DWARFDebugMacinfo()
2555714Skris{
2655714Skris}
2755714Skris
2855714Skrisvoid
2955714SkrisDWARFDebugMacinfo::Dump(Stream *s, const DWARFDataExtractor& macinfo_data, lldb::offset_t offset)
3055714Skris{
3155714Skris    DWARFDebugMacinfoEntry maninfo_entry;
3255714Skris    if (macinfo_data.GetByteSize() == 0)
3355714Skris    {
3455714Skris        s->PutCString("< EMPTY >\n");
3555714Skris        return;
3655714Skris    }
3755714Skris    if (offset == LLDB_INVALID_OFFSET)
3855714Skris    {
3955714Skris        offset = 0;
4055714Skris        while (maninfo_entry.Extract(macinfo_data, &offset))
4155714Skris            maninfo_entry.Dump(s);
4255714Skris    }
4355714Skris    else
4455714Skris    {
4555714Skris        if (maninfo_entry.Extract(macinfo_data, &offset))
4655714Skris            maninfo_entry.Dump(s);
4755714Skris    }
4855714Skris}
4955714Skris