LLVM: include/llvm/DebugInfo/PDB/Native/LinePrinter.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_LINEPRINTER_H

10#define LLVM_DEBUGINFO_PDB_NATIVE_LINEPRINTER_H

11

20

21#include

22

23

38};

39

40namespace llvm {

41namespace msf {

42class MSFStreamLayout;

43}

44namespace pdb {

45

46class ClassLayout;

47class PDBFile;

48class SymbolGroup;

49

52

53public:

56

60

63 template <typename... Ts> void formatLine(const char *Fmt, Ts &&...Items) {

65 }

66 template <typename... Ts> void format(const char *Fmt, Ts &&...Items) {

67 print(formatv(Fmt, std::forward(Items)...));

68 }

69

74

82

86

91

93

94private:

95 template

96 void SetFilters(std::list &List, Iter Begin, Iter End) {

98 for (; Begin != End; ++Begin)

100 }

101

103 int IndentSpaces;

104 int CurrentIndent;

107

108 std::list ExcludeCompilandFilters;

109 std::list ExcludeTypeFilters;

110 std::list ExcludeSymbolFilters;

111

112 std::list IncludeCompilandFilters;

113 std::list IncludeTypeFilters;

114 std::list IncludeSymbolFilters;

115};

116

122

126};

127

130}

131

136 }

138 L = &Scope.P;

139 Amount = Scope.IndentLevel;

140 }

142 if (L)

144 }

145

148};

149

150template

152 return Printer.getStream() << Item;

153}

154

168};

169

171public:

174

176

177private:

180 bool UseColor;

181};

182}

183}

184

185#endif

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)