Path: blob/main/contrib/llvm-project/llvm/tools/llvm-pdbutil/YAMLOutputStyle.h
35260 views
//===- YAMLOutputStyle.h -------------------------------------- *- C++ --*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_TOOLS_LLVMPDBDUMP_YAMLOUTPUTSTYLE_H9#define LLVM_TOOLS_LLVMPDBDUMP_YAMLOUTPUTSTYLE_H1011#include "OutputStyle.h"12#include "PdbYaml.h"1314#include "llvm/Support/ScopedPrinter.h"15#include "llvm/Support/YAMLTraits.h"1617namespace llvm {18namespace pdb {1920class YAMLOutputStyle : public OutputStyle {21public:22YAMLOutputStyle(PDBFile &File);2324Error dump() override;2526private:27Error dumpStringTable();28Error dumpFileHeaders();29Error dumpStreamMetadata();30Error dumpStreamDirectory();31Error dumpPDBStream();32Error dumpDbiStream();33Error dumpTpiStream();34Error dumpIpiStream();35Error dumpPublics();3637void flush();3839PDBFile &File;40llvm::yaml::Output Out;4142yaml::PdbObject Obj;43};44} // namespace pdb45} // namespace llvm4647#endif // LLVM_TOOLS_LLVMPDBDUMP_YAMLOUTPUTSTYLE_H484950