LLVM: include/llvm/DebugInfo/Symbolize/DIPrinter.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_DEBUGINFO_SYMBOLIZE_DIPRINTER_H

15#define LLVM_DEBUGINFO_SYMBOLIZE_DIPRINTER_H

16

20#include

21#include

22

23namespace llvm {

30

32

34

40

42public:

45

50 const std::vector &Locals) = 0;

52 const std::vector &Locations) = 0;

53

56

59};

60

68

70

72protected:

76

85

86private:

87 void printHeader(std::optional<uint64_t> Address);

88

89public:

92

97 const std::vector &Locals) override;

99 const std::vector &Locations) override;

100

103

106};

107

109private:

111 void printStartAddress(const DILineInfo &Info) override;

112 void printFooter() override;

113

114public:

117};

118

120private:

122

123public:

126};

127

129private:

132 std::unique_ptrjson::Array ObjectList;

133

137 OS << '\n';

138 }

139

140public:

142 : OS(OS), Config(Config) {}

143

148 const std::vector &Locals) override;

150 const std::vector &Locations) override;

151

154

155 void listBegin() override;

156 void listEnd() override;

157};

158}

159}

160

161#endif

static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val)

Analysis containing CSE Info

This file supports working with JSON data.

A format-neutral container for inlined code description.

Base class for error info classes.

Base class for user error types.

StringRef - Represent a constant reference to a string, i.e.

json::OStream allows writing well-formed JSON without materializing all structures as json::Value ahe...

LLVM_ABI void value(const Value &V)

Emit a self-contained value (number, string, vector etc).

A Value is an JSON value of unknown type.

This class implements an extremely fast bulk output stream that can only output to a stream.

virtual void print(const Request &Request, const std::vector< DILocal > &Locals)=0

virtual void listBegin()=0

virtual void print(const Request &Request, const DIGlobal &Global)=0

virtual void print(const Request &Request, const DILineInfo &Info)=0

virtual ~DIPrinter()=default

virtual void print(const Request &Request, const DIInliningInfo &Info)=0

virtual bool printError(const Request &Request, const ErrorInfoBase &ErrorInfo)=0

virtual void print(const Request &Request, const std::vector< DILineInfo > &Locations)=0

GNUPrinter(raw_ostream &OS, ErrorHandler EH, PrinterConfig &Config)

Definition DIPrinter.h:124

JSONPrinter(raw_ostream &OS, PrinterConfig &Config)

Definition DIPrinter.h:141

LLVMPrinter(raw_ostream &OS, ErrorHandler EH, PrinterConfig &Config)

Definition DIPrinter.h:115

void printContext(SourceCode SourceCode)

virtual void printFooter()

Definition DIPrinter.h:84

virtual void printStartAddress(const DILineInfo &Info)

Definition DIPrinter.h:83

PlainPrinterBase(raw_ostream &OS, ErrorHandler EH, PrinterConfig &Config)

Definition DIPrinter.h:90

virtual void printSimpleLocation(StringRef Filename, const DILineInfo &Info)=0

void printVerbose(StringRef Filename, const DILineInfo &Info)

void printFunctionName(StringRef FunctionName, bool Inlined)

void listEnd() override

Definition DIPrinter.h:105

void listBegin() override

Definition DIPrinter.h:104

raw_ostream & OS

Definition DIPrinter.h:73

ErrorHandler ErrHandler

Definition DIPrinter.h:74

PrinterConfig Config

Definition DIPrinter.h:75

Definition DIPrinter.h:31

std::function< void(const ErrorInfoBase &, StringRef)> ErrorHandler

Definition DIPrinter.h:69

This is an optimization pass for GlobalISel generic memory operations.

@ Global

Append to llvm.global_dtors.

Container for description of a global variable.

A format-neutral container for source line information.

Definition DIPrinter.h:61

bool PrintAddress

Definition DIPrinter.h:62

bool Pretty

Definition DIPrinter.h:64

int SourceContextLines

Definition DIPrinter.h:66

bool PrintFunctions

Definition DIPrinter.h:63

bool Verbose

Definition DIPrinter.h:65

Definition DIPrinter.h:35

StringRef Symbol

Definition DIPrinter.h:38

StringRef ModuleName

Definition DIPrinter.h:36

std::optional< uint64_t > Address

Definition DIPrinter.h:37