LLVM 22.0.0git
llvm::logicalview::LVTypeVisitor Class Referencefinal

#include "llvm/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.h"

Inheritance diagram for llvm::logicalview::LVTypeVisitor:
[legend]

Public Member Functions

 LVTypeVisitor (ScopedPrinter &W, LVLogicalVisitor *LogicalVisitor, LazyRandomTypeCollection &Types, LazyRandomTypeCollection &Ids, uint32_t StreamIdx, LVShared *Shared)
Error visitTypeBegin (CVType &Record) override
 Paired begin/end actions for all types.
Error visitTypeBegin (CVType &Record, TypeIndex TI) override
Error visitMemberBegin (CVMemberRecord &Record) override
Error visitMemberEnd (CVMemberRecord &Record) override
Error visitUnknownMember (CVMemberRecord &Record) override
Error visitKnownRecord (CVType &Record, BuildInfoRecord &Args) override
Error visitKnownRecord (CVType &Record, ClassRecord &Class) override
Error visitKnownRecord (CVType &Record, EnumRecord &Enum) override
Error visitKnownRecord (CVType &Record, FuncIdRecord &Func) override
Error visitKnownRecord (CVType &Record, ProcedureRecord &Proc) override
Error visitKnownRecord (CVType &Record, StringIdRecord &String) override
Error visitKnownRecord (CVType &Record, UdtSourceLineRecord &Line) override
Error visitKnownRecord (CVType &Record, UnionRecord &Union) override
Error visitUnknownType (CVType &Record) override
 Action to take on unknown types. By default, they are ignored.
Public Member Functions inherited from llvm::codeview::TypeVisitorCallbacks
virtual ~TypeVisitorCallbacks ()=default
virtual Error visitTypeEnd (CVType &Record)

Detailed Description

Definition at line 39 of file LVCodeViewVisitor.h.

Constructor & Destructor Documentation

◆ LVTypeVisitor()

llvm::logicalview::LVTypeVisitor::LVTypeVisitor ( ScopedPrinter & W,
LVLogicalVisitor * LogicalVisitor,
LazyRandomTypeCollection & Types,
LazyRandomTypeCollection & Ids,
uint32_t StreamIdx,
LVShared * Shared )
inline

Definition at line 60 of file LVCodeViewVisitor.h.

Member Function Documentation

◆ visitKnownRecord() [1/8]

◆ visitKnownRecord() [2/8]

Error LVTypeVisitor::visitKnownRecord ( CVType & Record,
ClassRecord & Class )
override

◆ visitKnownRecord() [3/8]

Error LVTypeVisitor::visitKnownRecord ( CVType & Record,
EnumRecord & Enum )
override

◆ visitKnownRecord() [4/8]

Error LVTypeVisitor::visitKnownRecord ( CVType & Record,
FuncIdRecord & Func )
override

◆ visitKnownRecord() [5/8]

◆ visitKnownRecord() [6/8]

Error LVTypeVisitor::visitKnownRecord ( CVType & Record,
StringIdRecord & String )
override

◆ visitKnownRecord() [7/8]

Error LVTypeVisitor::visitKnownRecord ( CVType & Record,
UdtSourceLineRecord & Line )
override

◆ visitKnownRecord() [8/8]

Error LVTypeVisitor::visitKnownRecord ( CVType & Record,
UnionRecord & Union )
override

◆ visitMemberBegin()

Error LVTypeVisitor::visitMemberBegin ( CVMemberRecord & Record)
overridevirtual

◆ visitMemberEnd()

Error LVTypeVisitor::visitMemberEnd ( CVMemberRecord & Record)
overridevirtual

Reimplemented from llvm::codeview::TypeVisitorCallbacks.

Definition at line 512 of file LVCodeViewVisitor.cpp.

References LLVM_DEBUG, and llvm::Error::success().

◆ visitTypeBegin() [1/2]

Error LVTypeVisitor::visitTypeBegin ( CVType & Record)
overridevirtual

Paired begin/end actions for all types.

Receives all record data, including the fixed-length record prefix. visitTypeBegin() should return the type of the Record, or an error if it cannot be determined. Exactly one of the two visitTypeBegin methods will be called, depending on whether records are being visited sequentially or randomly. An implementation should be prepared to handle both (or assert if it can't handle random access visitation).

Reimplemented from llvm::codeview::TypeVisitorCallbacks.

Definition at line 478 of file LVCodeViewVisitor.cpp.

References llvm::codeview::TypeIndex::fromArrayIndex(), and visitTypeBegin().

Referenced by visitTypeBegin().

◆ visitTypeBegin() [2/2]

Error LVTypeVisitor::visitTypeBegin ( CVType & Record,
TypeIndex TI )
overridevirtual

◆ visitUnknownMember()

Error LVTypeVisitor::visitUnknownMember ( CVMemberRecord & Record)
overridevirtual

Reimplemented from llvm::codeview::TypeVisitorCallbacks.

Definition at line 520 of file LVCodeViewVisitor.cpp.

References LLVM_DEBUG, and llvm::Error::success().

◆ visitUnknownType()

Error LVTypeVisitor::visitUnknownType ( CVType & Record)
overridevirtual

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

Reimplemented from llvm::codeview::TypeVisitorCallbacks.

Definition at line 498 of file LVCodeViewVisitor.cpp.

References LLVM_DEBUG, and llvm::Error::success().


The documentation for this class was generated from the following files: