LLVM
15.0.0git
|
Dumper for CodeView type streams found in COFF object files and PDB files. More...
#include "llvm/DebugInfo/CodeView/TypeDumpVisitor.h"
Public Member Functions | |
TypeDumpVisitor (TypeCollection &TpiTypes, ScopedPrinter *W, bool PrintRecordBytes) | |
void | setIpiTypes (TypeCollection &Types) |
When dumping types from an IPI stream in a PDB, a type index may refer to a type or an item ID. More... | |
void | printTypeIndex (StringRef FieldName, TypeIndex TI) const |
void | printItemIndex (StringRef FieldName, TypeIndex TI) const |
Error | visitUnknownType (CVType &Record) override |
Action to take on unknown types. By default, they are ignored. More... | |
Error | visitUnknownMember (CVMemberRecord &Record) override |
Error | visitTypeBegin (CVType &Record) override |
Paired begin/end actions for all types. More... | |
Error | visitTypeBegin (CVType &Record, TypeIndex Index) override |
Error | visitTypeEnd (CVType &Record) override |
Error | visitMemberBegin (CVMemberRecord &Record) override |
Error | visitMemberEnd (CVMemberRecord &Record) override |
![]() | |
virtual | ~TypeVisitorCallbacks ()=default |
Dumper for CodeView type streams found in COFF object files and PDB files.
Definition at line 28 of file TypeDumpVisitor.h.
|
inline |
Definition at line 30 of file TypeDumpVisitor.h.
Definition at line 166 of file TypeDumpVisitor.cpp.
References llvm::codeview::printTypeIndex().
Definition at line 162 of file TypeDumpVisitor.cpp.
References llvm::codeview::printTypeIndex().
|
inline |
When dumping types from an IPI stream in a PDB, a type index may refer to a type or an item ID.
The dumper will lookup the "name" of the index in the item database if appropriate. If ItemDB is null, it will use TypeDB, which is correct when dumping types from an object file (/Z7).
Definition at line 38 of file TypeDumpVisitor.h.
|
overridevirtual |
Reimplemented from llvm::codeview::TypeVisitorCallbacks.
Definition at line 193 of file TypeDumpVisitor.cpp.
References getLeafTypeName(), llvm::ScopedPrinter::getOStream(), llvm::ScopedPrinter::indent(), LeafTypeNames, llvm::makeArrayRef(), llvm::ScopedPrinter::printEnum(), llvm::ScopedPrinter::startLine(), and llvm::Error::success().
|
overridevirtual |
Reimplemented from llvm::codeview::TypeVisitorCallbacks.
Definition at line 202 of file TypeDumpVisitor.cpp.
References llvm::codeview::getBytesAsCharacters(), llvm::ScopedPrinter::printBinaryBlock(), llvm::ScopedPrinter::startLine(), llvm::Error::success(), and llvm::ScopedPrinter::unindent().
Paired begin/end actions for all types.
Receives all record data, including the fixed-length record prefix.
Reimplemented from llvm::codeview::TypeVisitorCallbacks.
Definition at line 170 of file TypeDumpVisitor.cpp.
References llvm::codeview::TypeIndex::fromArrayIndex(), and llvm::codeview::TypeCollection::size().
Reimplemented from llvm::codeview::TypeVisitorCallbacks.
Definition at line 174 of file TypeDumpVisitor.cpp.
References getLeafTypeName(), llvm::ScopedPrinter::getOStream(), llvm::ScopedPrinter::indent(), LeafTypeNames, llvm::makeArrayRef(), llvm::ScopedPrinter::printEnum(), llvm::ScopedPrinter::startLine(), and llvm::Error::success().
Reimplemented from llvm::codeview::TypeVisitorCallbacks.
Definition at line 184 of file TypeDumpVisitor.cpp.
References llvm::codeview::getBytesAsCharacters(), llvm::ScopedPrinter::printBinaryBlock(), llvm::ScopedPrinter::startLine(), llvm::Error::success(), and llvm::ScopedPrinter::unindent().
|
overridevirtual |
Reimplemented from llvm::codeview::TypeVisitorCallbacks.
Definition at line 455 of file TypeDumpVisitor.cpp.
References llvm::ScopedPrinter::printHex(), and llvm::Error::success().
Action to take on unknown types. By default, they are ignored.
Reimplemented from llvm::codeview::TypeVisitorCallbacks.
Definition at line 460 of file TypeDumpVisitor.cpp.
References LeafTypeNames, llvm::makeArrayRef(), llvm::ScopedPrinter::printEnum(), llvm::ScopedPrinter::printNumber(), and llvm::Error::success().