1 //===- YAMLOutputStyle.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 #ifndef LLVM_TOOLS_LLVMPDBDUMP_YAMLOUTPUTSTYLE_H
11 #define LLVM_TOOLS_LLVMPDBDUMP_YAMLOUTPUTSTYLE_H
13 #include "OutputStyle.h"
16 #include "llvm/DebugInfo/CodeView/CVTypeDumper.h"
17 #include "llvm/Support/ScopedPrinter.h"
18 #include "llvm/Support/YAMLTraits.h"
24 class YAMLOutputStyle : public OutputStyle {
26 YAMLOutputStyle(PDBFile &File);
28 Error dump() override;
31 Expected<Optional<llvm::pdb::yaml::PdbSourceFileInfo>>
32 getFileLineInfo(const pdb::ModStream &ModS);
34 Error dumpStringTable();
35 Error dumpFileHeaders();
36 Error dumpStreamMetadata();
37 Error dumpStreamDirectory();
38 Error dumpPDBStream();
39 Error dumpDbiStream();
40 Error dumpTpiStream();
41 Error dumpIpiStream();
46 llvm::yaml::Output Out;
53 #endif // LLVM_TOOLS_LLVMPDBDUMP_YAMLOUTPUTSTYLE_H