9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_LINEPRINTER_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_LINEPRINTER_H
63 template <
typename... Ts>
void formatLine(
const char *Fmt, Ts &&...Items) {
66 template <
typename... Ts>
void format(
const char *Fmt, Ts &&...Items) {
95 template <
typename Iter>
96 void SetFilters(std::list<Regex> &
List, Iter Begin, Iter
End) {
98 for (; Begin !=
End; ++Begin)
108 std::list<Regex> ExcludeCompilandFilters;
109 std::list<Regex> ExcludeTypeFilters;
110 std::list<Regex> ExcludeSymbolFilters;
112 std::list<Regex> IncludeCompilandFilters;
113 std::list<Regex> IncludeTypeFilters;
114 std::list<Regex> IncludeSymbolFilters;
139 Amount = Scope.IndentLevel;
152 return Printer.getStream() << Item;
dxil pretty DXIL Metadata Pretty Printer
static ManagedStatic< cl::opt< cl::boolOrDefault >, CreateUseColor > UseColor
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
StringRef - Represent a constant reference to a string, i.e.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
Describes the layout of a stream in an MSF layout.
void print(const Twine &T)
void format(const char *Fmt, Ts &&...Items)
void printLine(const Twine &T)
const FilterOptions & getFilters() const
void Unindent(uint32_t Amount=0)
void formatMsfStreamData(StringRef Label, PDBFile &File, uint32_t StreamIdx, StringRef StreamPurpose, uint64_t Offset, uint64_t Size)
int getIndentLevel() const
bool IsSymbolExcluded(llvm::StringRef SymbolName)
raw_ostream & getStream()
void formatMsfStreamBlocks(PDBFile &File, const msf::MSFStreamLayout &Stream)
void formatLine(const char *Fmt, Ts &&...Items)
void formatBinary(StringRef Label, ArrayRef< uint8_t > Data, uint64_t StartOffset)
bool IsTypeExcluded(llvm::StringRef TypeName, uint64_t Size)
bool IsClassExcluded(const ClassLayout &Class)
bool IsCompilandExcluded(llvm::StringRef CompilandName)
void Indent(uint32_t Amount=0)
This class implements an extremely fast bulk output stream that can only output to a stream.
@ C
The default llvm calling convention, compatible with C.
PrintScope withLabelWidth(const PrintScope &Scope, uint32_t W)
raw_ostream & operator<<(LinePrinter &Printer, const T &Item)
This is an optimization pass for GlobalISel generic memory operations.
auto formatv(bool Validate, const char *Fmt, Ts &&...Vals)
std::list< std::string > IncludeCompilands
std::optional< uint32_t > DumpModi
std::list< std::string > IncludeTypes
std::list< std::string > IncludeSymbols
std::list< std::string > ExcludeTypes
std::optional< uint32_t > SymbolOffset
std::optional< uint32_t > ChildrenRecurseDepth
uint32_t PaddingThreshold
std::list< std::string > ExcludeCompilands
std::optional< uint32_t > ParentRecurseDepth
std::list< std::string > ExcludeSymbols
AutoIndent(const PrintScope &Scope)
AutoIndent(LinePrinter &L, uint32_t Amount=0)
PrintScope(const PrintScope &Other, uint32_t LabelWidth)
PrintScope(LinePrinter &P, uint32_t IndentLevel)