LLVM  8.0.1
DIPrinter.h
Go to the documentation of this file.
1 //===- llvm/DebugInfo/Symbolize/DIPrinter.h ---------------------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file declares the DIPrinter class, which is responsible for printing
11 // structures defined in DebugInfo/DIContext.h
12 //
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef LLVM_DEBUGINFO_SYMBOLIZE_DIPRINTER_H
16 #define LLVM_DEBUGINFO_SYMBOLIZE_DIPRINTER_H
17 
19 
20 namespace llvm {
21 struct DILineInfo;
22 class DIInliningInfo;
23 struct DIGlobal;
24 
25 namespace symbolize {
26 
27 class DIPrinter {
28  raw_ostream &OS;
29  bool PrintFunctionNames;
30  bool PrintPretty;
31  int PrintSourceContext;
32  bool Verbose;
33 
34  void print(const DILineInfo &Info, bool Inlined);
35  void printContext(const std::string &FileName, int64_t Line);
36 
37 public:
38  DIPrinter(raw_ostream &OS, bool PrintFunctionNames = true,
39  bool PrintPretty = false, int PrintSourceContext = 0,
40  bool Verbose = false)
41  : OS(OS), PrintFunctionNames(PrintFunctionNames),
42  PrintPretty(PrintPretty), PrintSourceContext(PrintSourceContext),
43  Verbose(Verbose) {}
44 
45  DIPrinter &operator<<(const DILineInfo &Info);
46  DIPrinter &operator<<(const DIInliningInfo &Info);
47  DIPrinter &operator<<(const DIGlobal &Global);
48 };
49 }
50 }
51 
52 #endif
53 
This class represents lattice values for constants.
Definition: AllocatorList.h:24
DIPrinter & operator<<(const DILineInfo &Info)
Definition: DIPrinter.cpp:95
A format-neutral container for source line information.
Definition: DIContext.h:31
Analysis containing CSE Info
Definition: CSEInfo.cpp:21
A format-neutral container for inlined code description.
Definition: DIContext.h:78
DIPrinter(raw_ostream &OS, bool PrintFunctionNames=true, bool PrintPretty=false, int PrintSourceContext=0, bool Verbose=false)
Definition: DIPrinter.h:38
This class implements an extremely fast bulk output stream that can only output to a stream...
Definition: raw_ostream.h:46
Container for description of a global variable.
Definition: DIContext.h:109