LLVM 20.0.0git
Public Member Functions | List of all members
llvm::logicalview::LVTypeVisitor Class Referencefinal

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

Inheritance diagram for llvm::logicalview::LVTypeVisitor:
Inheritance graph
[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 visitUnknownType (CVType &Record)
 Action to take on unknown types. By default, they are ignored.
 
virtual Error visitTypeBegin (CVType &Record)
 Paired begin/end actions for all types.
 
virtual Error visitTypeBegin (CVType &Record, TypeIndex Index)
 
virtual Error visitTypeEnd (CVType &Record)
 
virtual Error visitUnknownMember (CVMemberRecord &Record)
 
virtual Error visitMemberBegin (CVMemberRecord &Record)
 
virtual Error visitMemberEnd (CVMemberRecord &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.

References llvm::logicalview::Types.

Member Function Documentation

◆ visitKnownRecord() [1/8]

Error LVTypeVisitor::visitKnownRecord ( CVType Record,
BuildInfoRecord Args 
)
override

◆ 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]

Error LVTypeVisitor::visitKnownRecord ( CVType Record,
ProcedureRecord Proc 
)
override

◆ 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

◆ 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 485 of file LVCodeViewVisitor.cpp.

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

Referenced by visitTypeBegin().

◆ visitTypeBegin() [2/2]

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

◆ visitUnknownMember()

Error LVTypeVisitor::visitUnknownMember ( CVMemberRecord Record)
overridevirtual

◆ 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 505 of file LVCodeViewVisitor.cpp.

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


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