LLVM  8.0.1
Public Member Functions | List of all members
llvm::codeview::TypeVisitorCallbackPipeline Class Reference

#include "llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h"

Inheritance diagram for llvm::codeview::TypeVisitorCallbackPipeline:
Inheritance graph
[legend]
Collaboration diagram for llvm::codeview::TypeVisitorCallbackPipeline:
Collaboration graph
[legend]

Public Member Functions

 TypeVisitorCallbackPipeline ()=default
 
Error visitUnknownType (CVRecord< TypeLeafKind > &Record) override
 
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
 
void addCallbackToPipeline (TypeVisitorCallbacks &Callbacks)
 
- 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. More...
 

Detailed Description

Definition at line 22 of file TypeVisitorCallbackPipeline.h.

Constructor & Destructor Documentation

◆ TypeVisitorCallbackPipeline()

llvm::codeview::TypeVisitorCallbackPipeline::TypeVisitorCallbackPipeline ( )
default

Member Function Documentation

◆ addCallbackToPipeline()

void llvm::codeview::TypeVisitorCallbackPipeline::addCallbackToPipeline ( TypeVisitorCallbacks Callbacks)
inline

Definition at line 82 of file TypeVisitorCallbackPipeline.h.

◆ visitMemberBegin()

Error llvm::codeview::TypeVisitorCallbackPipeline::visitMemberBegin ( CVMemberRecord Record)
inlineoverridevirtual

◆ visitMemberEnd()

Error llvm::codeview::TypeVisitorCallbackPipeline::visitMemberEnd ( CVMemberRecord Record)
inlineoverridevirtual

◆ visitTypeBegin() [1/2]

Error llvm::codeview::TypeVisitorCallbackPipeline::visitTypeBegin ( CVType Record)
inlineoverridevirtual

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 42 of file TypeVisitorCallbackPipeline.h.

References llvm::codeview::EC, and llvm::Error::success().

◆ visitTypeBegin() [2/2]

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

◆ visitTypeEnd()

Error llvm::codeview::TypeVisitorCallbackPipeline::visitTypeEnd ( CVType Record)
inlineoverridevirtual

◆ visitUnknownMember()

Error llvm::codeview::TypeVisitorCallbackPipeline::visitUnknownMember ( CVMemberRecord Record)
inlineoverridevirtual

◆ visitUnknownType()

Error llvm::codeview::TypeVisitorCallbackPipeline::visitUnknownType ( CVRecord< TypeLeafKind > &  Record)
inlineoverride

Definition at line 26 of file TypeVisitorCallbackPipeline.h.

References llvm::codeview::EC, and llvm::Error::success().


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