43 lines · c
1//===- PrettyClassDefinitionDumper.h ----------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_TOOLS_LLVMPDBDUMP_PRETTYCLASSDEFINITIONDUMPER_H10#define LLVM_TOOLS_LLVMPDBDUMP_PRETTYCLASSDEFINITIONDUMPER_H11 12#include "llvm/ADT/BitVector.h"13 14#include "llvm/DebugInfo/PDB/PDBSymDumper.h"15#include "llvm/DebugInfo/PDB/PDBSymbolData.h"16#include "llvm/DebugInfo/PDB/PDBSymbolFunc.h"17 18namespace llvm {19class BitVector;20 21namespace pdb {22 23class ClassLayout;24class LinePrinter;25 26class ClassDefinitionDumper : public PDBSymDumper {27public:28 ClassDefinitionDumper(LinePrinter &P);29 30 void start(const PDBSymbolTypeUDT &Class);31 void start(const ClassLayout &Class);32 33private:34 void prettyPrintClassIntro(const ClassLayout &Class);35 void prettyPrintClassOutro(const ClassLayout &Class);36 37 LinePrinter &Printer;38 bool DumpedAnything = false;39};40}41}42#endif43