//===-- DebugMacros.cpp ---------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #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); }