Path: blob/main/contrib/llvm-project/llvm/lib/DebugInfo/PDB/PDBSymDumper.cpp
35269 views
//===- PDBSymDumper.cpp - ---------------------------------------*- 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#include "llvm/DebugInfo/PDB/PDBSymDumper.h"9#include "llvm/Support/ErrorHandling.h"1011using namespace llvm;12using namespace llvm::pdb;1314#define PDB_SYMDUMP_UNREACHABLE(Type) \15if (RequireImpl) \16llvm_unreachable("Attempt to dump " #Type " with no dump implementation");1718PDBSymDumper::PDBSymDumper(bool ShouldRequireImpl)19: RequireImpl(ShouldRequireImpl) {}2021PDBSymDumper::~PDBSymDumper() = default;2223void PDBSymDumper::dump(const PDBSymbolAnnotation &Symbol) {24PDB_SYMDUMP_UNREACHABLE(PDBSymbolAnnotation)25}2627void PDBSymDumper::dump(const PDBSymbolBlock &Symbol) {28PDB_SYMDUMP_UNREACHABLE(PDBSymbolBlock)29}3031void PDBSymDumper::dump(const PDBSymbolCompiland &Symbol) {32PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompiland)33}3435void PDBSymDumper::dump(const PDBSymbolCompilandDetails &Symbol) {36PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandDetails)37}3839void PDBSymDumper::dump(const PDBSymbolCompilandEnv &Symbol) {40PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandEnv)41}4243void PDBSymDumper::dump(const PDBSymbolCustom &Symbol) {44PDB_SYMDUMP_UNREACHABLE(PDBSymbolCustom)45}4647void PDBSymDumper::dump(const PDBSymbolData &Symbol) {48PDB_SYMDUMP_UNREACHABLE(PDBSymbolData)49}5051void PDBSymDumper::dump(const PDBSymbolExe &Symbol) {52PDB_SYMDUMP_UNREACHABLE(PDBSymbolExe)53}5455void PDBSymDumper::dump(const PDBSymbolFunc &Symbol) {56PDB_SYMDUMP_UNREACHABLE(PDBSymbolFunc)57}5859void PDBSymDumper::dump(const PDBSymbolFuncDebugEnd &Symbol) {60PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugEnd)61}6263void PDBSymDumper::dump(const PDBSymbolFuncDebugStart &Symbol) {64PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugStart)65}6667void PDBSymDumper::dump(const PDBSymbolLabel &Symbol) {68PDB_SYMDUMP_UNREACHABLE(PDBSymbolLabel)69}7071void PDBSymDumper::dump(const PDBSymbolPublicSymbol &Symbol) {72PDB_SYMDUMP_UNREACHABLE(PDBSymbolPublicSymbol)73}7475void PDBSymDumper::dump(const PDBSymbolThunk &Symbol) {76PDB_SYMDUMP_UNREACHABLE(PDBSymbolThunk)77}7879void PDBSymDumper::dump(const PDBSymbolTypeArray &Symbol) {80PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeArray)81}8283void PDBSymDumper::dump(const PDBSymbolTypeBaseClass &Symbol) {84PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBaseClass)85}8687void PDBSymDumper::dump(const PDBSymbolTypeBuiltin &Symbol) {88PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBuiltin)89}9091void PDBSymDumper::dump(const PDBSymbolTypeCustom &Symbol) {92PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeCustom)93}9495void PDBSymDumper::dump(const PDBSymbolTypeDimension &Symbol) {96PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeDimension)97}9899void PDBSymDumper::dump(const PDBSymbolTypeEnum &Symbol) {100PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeEnum)101}102103void PDBSymDumper::dump(const PDBSymbolTypeFriend &Symbol) {104PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFriend)105}106107void PDBSymDumper::dump(const PDBSymbolTypeFunctionArg &Symbol) {108PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionArg)109}110111void PDBSymDumper::dump(const PDBSymbolTypeFunctionSig &Symbol) {112PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionSig)113}114115void PDBSymDumper::dump(const PDBSymbolTypeManaged &Symbol) {116PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeManaged)117}118119void PDBSymDumper::dump(const PDBSymbolTypePointer &Symbol) {120PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypePointer)121}122123void PDBSymDumper::dump(const PDBSymbolTypeTypedef &Symbol) {124PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeTypedef)125}126127void PDBSymDumper::dump(const PDBSymbolTypeUDT &Symbol) {128PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeUDT)129}130131void PDBSymDumper::dump(const PDBSymbolTypeVTable &Symbol) {132PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTable)133}134135void PDBSymDumper::dump(const PDBSymbolTypeVTableShape &Symbol) {136PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTableShape)137}138139void PDBSymDumper::dump(const PDBSymbolUnknown &Symbol) {140PDB_SYMDUMP_UNREACHABLE(PDBSymbolUnknown)141}142143void PDBSymDumper::dump(const PDBSymbolUsingNamespace &Symbol) {144PDB_SYMDUMP_UNREACHABLE(PDBSymbolUsingNamespace)145}146147148