llvm/llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp

//===- PrettyTypeDumper.cpp - PDBSymDumper type dumper *------------ C++ *-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "PrettyTypeDumper.h"

#include "PrettyBuiltinDumper.h"
#include "PrettyClassDefinitionDumper.h"
#include "PrettyEnumDumper.h"
#include "PrettyFunctionDumper.h"
#include "PrettyTypedefDumper.h"
#include "llvm-pdbutil.h"

#include "llvm/DebugInfo/PDB/ConcreteSymbolEnumerator.h"
#include "llvm/DebugInfo/PDB/IPDBLineNumber.h"
#include "llvm/DebugInfo/PDB/IPDBSession.h"
#include "llvm/DebugInfo/PDB/PDBSymbolExe.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeArray.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypePointer.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h"
#include "llvm/DebugInfo/PDB/UDTLayout.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/FormatVariadic.h"

usingnamespacellvm;
usingnamespacellvm::pdb;

LayoutPtr;

CompareFunc;

static bool CompareNames(const LayoutPtr &S1, const LayoutPtr &S2) {}

static bool CompareSizes(const LayoutPtr &S1, const LayoutPtr &S2) {}

static bool ComparePadding(const LayoutPtr &S1, const LayoutPtr &S2) {}

static bool ComparePaddingPct(const LayoutPtr &S1, const LayoutPtr &S2) {}

static bool ComparePaddingImmediate(const LayoutPtr &S1, const LayoutPtr &S2) {}

static bool ComparePaddingPctImmediate(const LayoutPtr &S1,
                                       const LayoutPtr &S2) {}

static CompareFunc getComparisonFunc(opts::pretty::ClassSortMode Mode) {}

template <typename Enumerator>
static std::vector<std::unique_ptr<ClassLayout>>
filterAndSortClassDefs(LinePrinter &Printer, Enumerator &E,
                       uint32_t UnfilteredCount) {}

TypeDumper::TypeDumper(LinePrinter &P) :{}

template <typename T>
static bool isTypeExcluded(LinePrinter &Printer, const T &Symbol) {}

static bool isTypeExcluded(LinePrinter &Printer,
                           const PDBSymbolTypeEnum &Enum) {}

static bool isTypeExcluded(LinePrinter &Printer,
                           const PDBSymbolTypeTypedef &Typedef) {}

template <typename SymbolT>
static void dumpSymbolCategory(LinePrinter &Printer, const PDBSymbolExe &Exe,
                               TypeDumper &TD, StringRef Label) {}

static void printClassDecl(LinePrinter &Printer,
                           const PDBSymbolTypeUDT &Class) {}

void TypeDumper::start(const PDBSymbolExe &Exe) {}

void TypeDumper::dump(const PDBSymbolTypeEnum &Symbol) {}

void TypeDumper::dump(const PDBSymbolTypeBuiltin &Symbol) {}

void TypeDumper::dump(const PDBSymbolTypeUDT &Symbol) {}

void TypeDumper::dump(const PDBSymbolTypeTypedef &Symbol) {}

void TypeDumper::dump(const PDBSymbolTypeArray &Symbol) {}

void TypeDumper::dump(const PDBSymbolTypeFunctionSig &Symbol) {}

void TypeDumper::dump(const PDBSymbolTypePointer &Symbol) {}

void TypeDumper::dump(const PDBSymbolTypeVTableShape &Symbol) {}

void TypeDumper::dumpClassLayout(const ClassLayout &Class) {}