Home | History | Annotate | Download | only in llvm-pdbdump
      1 //===- LLVMOutputStyle.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 #ifndef LLVM_TOOLS_LLVMPDBDUMP_LLVMOUTPUTSTYLE_H
     11 #define LLVM_TOOLS_LLVMPDBDUMP_LLVMOUTPUTSTYLE_H
     12 
     13 #include "OutputStyle.h"
     14 
     15 #include "llvm/DebugInfo/CodeView/TypeDumper.h"
     16 #include "llvm/Support/ScopedPrinter.h"
     17 
     18 namespace llvm {
     19 namespace pdb {
     20 class LLVMOutputStyle : public OutputStyle {
     21 public:
     22   LLVMOutputStyle(PDBFile &File);
     23 
     24   Error dump() override;
     25 
     26 private:
     27   Error dumpFileHeaders();
     28   Error dumpStreamSummary();
     29   Error dumpStreamBlocks();
     30   Error dumpStreamData();
     31   Error dumpInfoStream();
     32   Error dumpNamedStream();
     33   Error dumpTpiStream(uint32_t StreamIdx);
     34   Error dumpDbiStream();
     35   Error dumpSectionContribs();
     36   Error dumpSectionMap();
     37   Error dumpPublicsStream();
     38   Error dumpSectionHeaders();
     39   Error dumpFpoStream();
     40 
     41   void flush();
     42 
     43   PDBFile &File;
     44   ScopedPrinter P;
     45   codeview::CVTypeDumper TD;
     46 };
     47 }
     48 }
     49 
     50 #endif
     51