diff options
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Symbol/DebugMacros.cpp')
-rw-r--r-- | contrib/llvm/tools/lldb/source/Symbol/DebugMacros.cpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/contrib/llvm/tools/lldb/source/Symbol/DebugMacros.cpp b/contrib/llvm/tools/lldb/source/Symbol/DebugMacros.cpp new file mode 100644 index 0000000..88a28ba --- /dev/null +++ b/contrib/llvm/tools/lldb/source/Symbol/DebugMacros.cpp @@ -0,0 +1,65 @@ +//===-- DebugMacros.cpp -----------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "lldb/Symbol/DebugMacros.h" + +#include "lldb/Symbol/CompileUnit.h" + +using namespace lldb_private; + +DebugMacroEntry::DebugMacroEntry(EntryType type, + uint32_t line, + uint32_t debug_line_file_idx, + const char *str) + : m_type(type), + m_line(line), + m_debug_line_file_idx(debug_line_file_idx), + m_str(str) +{ } + +DebugMacroEntry::DebugMacroEntry(EntryType type, + const DebugMacrosSP &debug_macros_sp) + : m_type(type), m_line(0), m_debug_line_file_idx(0), m_debug_macros_sp(debug_macros_sp) +{ } + +const FileSpec& +DebugMacroEntry::GetFileSpec(CompileUnit *comp_unit) const +{ + return comp_unit->GetSupportFiles().GetFileSpecAtIndex(m_debug_line_file_idx); +} + +DebugMacroEntry +DebugMacroEntry::CreateDefineEntry(uint32_t line, const char *str) +{ + return DebugMacroEntry(DebugMacroEntry::DEFINE, line, 0, str); +} + +DebugMacroEntry +DebugMacroEntry::CreateUndefEntry(uint32_t line, const char *str) +{ + return DebugMacroEntry(DebugMacroEntry::UNDEF, line, 0, str); +} + +DebugMacroEntry +DebugMacroEntry::CreateStartFileEntry(uint32_t line, uint32_t debug_line_file_idx) +{ + return DebugMacroEntry(DebugMacroEntry::START_FILE, line, debug_line_file_idx, nullptr); +} + +DebugMacroEntry +DebugMacroEntry::CreateEndFileEntry() +{ + return DebugMacroEntry(DebugMacroEntry::END_FILE, 0, 0, nullptr); +} + +DebugMacroEntry +DebugMacroEntry::CreateIndirectEntry(const DebugMacrosSP &debug_macros_sp) +{ + return DebugMacroEntry(DebugMacroEntry::INDIRECT, debug_macros_sp); +} |