1 //===- llvm/DebugInfo/Symbolize/DIPrinter.h ---------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file declares the DIPrinter class, which is responsible for printing
11 // structures defined in DebugInfo/DIContext.h
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_DEBUGINFO_SYMBOLIZE_DIPRINTER_H
16 #define LLVM_DEBUGINFO_SYMBOLIZE_DIPRINTER_H
18 #include "llvm/Support/raw_ostream.h"
29 bool PrintFunctionNames;
31 void printName(const DILineInfo &Info, bool Inlined);
34 DIPrinter(raw_ostream &OS, bool PrintFunctionNames = true,
35 bool PrintPretty = false)
36 : OS(OS), PrintFunctionNames(PrintFunctionNames),
37 PrintPretty(PrintPretty) {}
39 DIPrinter &operator<<(const DILineInfo &Info);
40 DIPrinter &operator<<(const DIInliningInfo &Info);
41 DIPrinter &operator<<(const DIGlobal &Global);