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

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

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

Public Member Functions

 LVSymbolVisitor (LVCodeViewReader *Reader, ScopedPrinter &W, LVLogicalVisitor *LogicalVisitor, LazyRandomTypeCollection &Types, LazyRandomTypeCollection &Ids, LVSymbolVisitorDelegate *ObjDelegate, LVShared *Shared)
Error visitSymbolBegin (CVSymbol &Record) override
Error visitSymbolBegin (CVSymbol &Record, uint32_t Offset) override
 Paired begin/end actions for all symbols.
Error visitSymbolEnd (CVSymbol &Record) override
Error visitUnknownSymbol (CVSymbol &Record) override
 Action to take on unknown symbols. By default, they are ignored.
Error visitKnownRecord (CVSymbol &Record, BlockSym &Block) override
Error visitKnownRecord (CVSymbol &Record, BPRelativeSym &Local) override
Error visitKnownRecord (CVSymbol &Record, BuildInfoSym &BuildInfo) override
Error visitKnownRecord (CVSymbol &Record, Compile2Sym &Compile2) override
Error visitKnownRecord (CVSymbol &Record, Compile3Sym &Compile3) override
Error visitKnownRecord (CVSymbol &Record, ConstantSym &Constant) override
Error visitKnownRecord (CVSymbol &Record, DataSym &Data) override
Error visitKnownRecord (CVSymbol &Record, DefRangeFramePointerRelFullScopeSym &DefRangeFramePointerRelFullScope) override
Error visitKnownRecord (CVSymbol &Record, DefRangeFramePointerRelSym &DefRangeFramePointerRel) override
Error visitKnownRecord (CVSymbol &Record, DefRangeRegisterRelSym &DefRangeRegisterRel) override
Error visitKnownRecord (CVSymbol &Record, DefRangeRegisterSym &DefRangeRegister) override
Error visitKnownRecord (CVSymbol &Record, DefRangeSubfieldRegisterSym &DefRangeSubfieldRegister) override
Error visitKnownRecord (CVSymbol &Record, DefRangeSubfieldSym &DefRangeSubfield) override
Error visitKnownRecord (CVSymbol &Record, DefRangeSym &DefRange) override
Error visitKnownRecord (CVSymbol &Record, FrameProcSym &FrameProc) override
Error visitKnownRecord (CVSymbol &Record, InlineSiteSym &InlineSite) override
Error visitKnownRecord (CVSymbol &Record, LocalSym &Local) override
Error visitKnownRecord (CVSymbol &Record, ObjNameSym &ObjName) override
Error visitKnownRecord (CVSymbol &Record, ProcSym &Proc) override
Error visitKnownRecord (CVSymbol &Record, RegRelativeSym &Local) override
Error visitKnownRecord (CVSymbol &Record, ScopeEndSym &ScopeEnd) override
Error visitKnownRecord (CVSymbol &Record, Thunk32Sym &Thunk) override
Error visitKnownRecord (CVSymbol &Record, UDTSym &UDT) override
Error visitKnownRecord (CVSymbol &Record, UsingNamespaceSym &UN) override
Error visitKnownRecord (CVSymbol &Record, JumpTableSym &JumpTable) override
Error visitKnownRecord (CVSymbol &Record, CallerSym &Caller) override
Public Member Functions inherited from llvm::codeview::SymbolVisitorCallbacks
virtual ~SymbolVisitorCallbacks ()=default

Detailed Description

Definition at line 124 of file LVCodeViewVisitor.h.

Constructor & Destructor Documentation

◆ LVSymbolVisitor()

llvm::logicalview::LVSymbolVisitor::LVSymbolVisitor ( LVCodeViewReader * Reader,
ScopedPrinter & W,
LVLogicalVisitor * LogicalVisitor,
LazyRandomTypeCollection & Types,
LazyRandomTypeCollection & Ids,
LVSymbolVisitorDelegate * ObjDelegate,
LVShared * Shared )
inline

Definition at line 179 of file LVCodeViewVisitor.h.

Member Function Documentation

◆ visitKnownRecord() [1/26]

Error LVSymbolVisitor::visitKnownRecord ( CVSymbol & Record,
BlockSym & Block )
override

◆ visitKnownRecord() [2/26]

◆ visitKnownRecord() [3/26]

Error LVSymbolVisitor::visitKnownRecord ( CVSymbol & Record,
BuildInfoSym & BuildInfo )
override

◆ visitKnownRecord() [4/26]

Error LVSymbolVisitor::visitKnownRecord ( CVSymbol & Record,
CallerSym & Caller )
override

◆ visitKnownRecord() [5/26]

◆ visitKnownRecord() [6/26]

◆ visitKnownRecord() [7/26]

Error LVSymbolVisitor::visitKnownRecord ( CVSymbol & Record,
ConstantSym & Constant )
override

◆ visitKnownRecord() [8/26]

◆ visitKnownRecord() [9/26]

Error LVSymbolVisitor::visitKnownRecord ( CVSymbol & Record,
DefRangeFramePointerRelFullScopeSym & DefRangeFramePointerRelFullScope )
override

◆ visitKnownRecord() [10/26]

◆ visitKnownRecord() [11/26]

◆ visitKnownRecord() [12/26]

◆ visitKnownRecord() [13/26]

◆ visitKnownRecord() [14/26]

◆ visitKnownRecord() [15/26]

◆ visitKnownRecord() [16/26]

◆ visitKnownRecord() [17/26]

◆ visitKnownRecord() [18/26]

Error LVSymbolVisitor::visitKnownRecord ( CVSymbol & Record,
JumpTableSym & JumpTable )
override

◆ visitKnownRecord() [19/26]

◆ visitKnownRecord() [20/26]

Error LVSymbolVisitor::visitKnownRecord ( CVSymbol & Record,
ObjNameSym & ObjName )
override

◆ visitKnownRecord() [21/26]

◆ visitKnownRecord() [22/26]

◆ visitKnownRecord() [23/26]

Error LVSymbolVisitor::visitKnownRecord ( CVSymbol & Record,
ScopeEndSym & ScopeEnd )
override

Definition at line 1614 of file LVCodeViewVisitor.cpp.

References llvm::Error::success().

◆ visitKnownRecord() [24/26]

Error LVSymbolVisitor::visitKnownRecord ( CVSymbol & Record,
Thunk32Sym & Thunk )
override

◆ visitKnownRecord() [25/26]

◆ visitKnownRecord() [26/26]

Error LVSymbolVisitor::visitKnownRecord ( CVSymbol & Record,
UsingNamespaceSym & UN )
override

◆ visitSymbolBegin() [1/2]

Error LVSymbolVisitor::visitSymbolBegin ( CVSymbol & Record)
overridevirtual

Reimplemented from llvm::codeview::SymbolVisitorCallbacks.

Definition at line 718 of file LVCodeViewVisitor.cpp.

References visitSymbolBegin().

Referenced by visitSymbolBegin().

◆ visitSymbolBegin() [2/2]

Error LVSymbolVisitor::visitSymbolBegin ( CVSymbol & Record,
uint32_t Offset )
overridevirtual

Paired begin/end actions for all symbols.

Receives all record data, including the fixed-length record prefix. visitSymbolBegin() should return the type of the Symbol, or an error if it cannot be determined.

Reimplemented from llvm::codeview::SymbolVisitorCallbacks.

Definition at line 722 of file LVCodeViewVisitor.cpp.

References assert(), llvm::codeview::getSymbolTypeNames(), llvm::logicalview::Kind, LLVM_DEBUG, llvm::logicalview::Offset, llvm::logicalview::options(), llvm::Error::success(), and llvm::codeview::symbolOpensScope().

◆ visitSymbolEnd()

Error LVSymbolVisitor::visitSymbolEnd ( CVSymbol & Record)
overridevirtual

◆ visitUnknownSymbol()

Error LVSymbolVisitor::visitUnknownSymbol ( CVSymbol & Record)
overridevirtual

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

Reimplemented from llvm::codeview::SymbolVisitorCallbacks.

Definition at line 771 of file LVCodeViewVisitor.cpp.

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


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