class TypeDumpVisitor

Declaration

class TypeDumpVisitor : public TypeVisitorCallbacks { /* full declaration omitted */ };

Description

Dumper for CodeView type streams found in COFF object files and PDB files.

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h:26

Inherits from: TypeVisitorCallbacks

Method Overview

  • public TypeDumpVisitor(llvm::codeview::TypeCollection & TpiTypes, llvm::ScopedPrinter * W, bool PrintRecordBytes)
  • public void printItemIndex(llvm::StringRef FieldName, llvm::codeview::TypeIndex TI) const
  • public void printTypeIndex(llvm::StringRef FieldName, llvm::codeview::TypeIndex TI) const
  • public void setIpiTypes(llvm::codeview::TypeCollection & Types)
  • public llvm::Error visitMemberBegin(llvm::codeview::CVMemberRecord & Record)
  • public llvm::Error visitMemberEnd(llvm::codeview::CVMemberRecord & Record)
  • public llvm::Error visitTypeBegin(llvm::codeview::CVType & Record)
  • public llvm::Error visitTypeBegin(llvm::codeview::CVType & Record, llvm::codeview::TypeIndex Index)
  • public llvm::Error visitTypeEnd(llvm::codeview::CVType & Record)
  • public llvm::Error visitUnknownMember(llvm::codeview::CVMemberRecord & Record)
  • public llvm::Error visitUnknownType(llvm::codeview::CVType & Record)

Inherited from TypeVisitorCallbacks:

Methods

TypeDumpVisitor(
    llvm::codeview::TypeCollection& TpiTypes,
    llvm::ScopedPrinter* W,
    bool PrintRecordBytes)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h:28

Parameters

llvm::codeview::TypeCollection& TpiTypes
llvm::ScopedPrinter* W
bool PrintRecordBytes

void printItemIndex(
    llvm::StringRef FieldName,
    llvm::codeview::TypeIndex TI) const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h:40

Parameters

llvm::StringRef FieldName
llvm::codeview::TypeIndex TI

void printTypeIndex(
    llvm::StringRef FieldName,
    llvm::codeview::TypeIndex TI) const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h:38

Parameters

llvm::StringRef FieldName
llvm::codeview::TypeIndex TI

void setIpiTypes(
    llvm::codeview::TypeCollection& Types)

Description

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).

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h:36

Parameters

llvm::codeview::TypeCollection& Types

llvm::Error visitMemberBegin(
    llvm::codeview::CVMemberRecord& Record)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h:51

Parameters

llvm::codeview::CVMemberRecord& Record

llvm::Error visitMemberEnd(
    llvm::codeview::CVMemberRecord& Record)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h:52

Parameters

llvm::codeview::CVMemberRecord& Record

llvm::Error visitTypeBegin(
    llvm::codeview::CVType& Record)

Description

Paired begin/end actions for all types. Receives all record data, including the fixed-length record prefix.

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h:48

Parameters

llvm::codeview::CVType& Record

llvm::Error visitTypeBegin(
    llvm::codeview::CVType& Record,
    llvm::codeview::TypeIndex Index)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h:49

Parameters

llvm::codeview::CVType& Record
llvm::codeview::TypeIndex Index

llvm::Error visitTypeEnd(
    llvm::codeview::CVType& Record)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h:50

Parameters

llvm::codeview::CVType& Record

llvm::Error visitUnknownMember(
    llvm::codeview::CVMemberRecord& Record)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h:44

Parameters

llvm::codeview::CVMemberRecord& Record

llvm::Error visitUnknownType(
    llvm::codeview::CVType& Record)

Description

Action to take on unknown types. By default, they are ignored.

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h:43

Parameters

llvm::codeview::CVType& Record