//===-- SourcePrinter.h - source interleaving utilities --------*- C++ -*-===// // // 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 // //===----------------------------------------------------------------------===// #ifndef LLVM_TOOLS_LLVM_OBJDUMP_SOURCEPRINTER_H #define LLVM_TOOLS_LLVM_OBJDUMP_SOURCEPRINTER_H #include "llvm/ADT/IndexedMap.h" #include "llvm/ADT/StringSet.h" #include "llvm/DebugInfo/DWARF/DWARFContext.h" #include "llvm/DebugInfo/Symbolize/Symbolize.h" #include "llvm/MC/MCRegisterInfo.h" #include "llvm/MC/MCSubtargetInfo.h" #include "llvm/Support/FormattedStream.h" #include <unordered_map> #include <vector> namespace llvm { namespace objdump { /// Stores a single expression representing the location of a source-level /// variable, along with the PC range for which that expression is valid. struct LiveVariable { … }; /// Helper class for printing source variable locations alongside disassembly. class LiveVariablePrinter { … }; class SourcePrinter { … }; } // namespace objdump } // namespace llvm #endif