LLVM 19.0.0git
Classes | Public Member Functions | Static Public Member Functions | List of all members
llvm::codeview::TypeDeserializer Class Reference

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

Inheritance diagram for llvm::codeview::TypeDeserializer:
Inheritance graph

Public Member Functions

 TypeDeserializer ()=default
Error visitTypeBegin (CVType &Record) override
 Paired begin/end actions for all types.
Error visitTypeBegin (CVType &Record, TypeIndex Index) override
Error visitTypeEnd (CVType &Record) override
- 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)

Static Public Member Functions

template<typename T >
static Error deserializeAs (CVType &CVT, T &Record)
template<typename T >
static Expected< TdeserializeAs (ArrayRef< uint8_t > Data)

Detailed Description

Definition at line 28 of file TypeDeserializer.h.

Constructor & Destructor Documentation

◆ TypeDeserializer()

llvm::codeview::TypeDeserializer::TypeDeserializer ( )

Member Function Documentation

◆ deserializeAs() [1/2]

template<typename T >
static Expected< T > llvm::codeview::TypeDeserializer::deserializeAs ( ArrayRef< uint8_t >  Data)

Definition at line 55 of file TypeDeserializer.h.

References llvm::Data, and llvm::codeview::EC.

◆ deserializeAs() [2/2]

template<typename T >
static Error llvm::codeview::TypeDeserializer::deserializeAs ( CVType CVT,
T Record 

◆ visitTypeBegin() [1/2]

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

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 67 of file TypeDeserializer.h.

References assert().

Referenced by visitTypeBegin().

◆ visitTypeBegin() [2/2]

Error llvm::codeview::TypeDeserializer::visitTypeBegin ( CVType Record,
TypeIndex  Index 

Reimplemented from llvm::codeview::TypeVisitorCallbacks.

Definition at line 73 of file TypeDeserializer.h.

References visitTypeBegin().

◆ visitTypeEnd()

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

Reimplemented from llvm::codeview::TypeVisitorCallbacks.

Definition at line 77 of file TypeDeserializer.h.

References assert(), and llvm::codeview::EC.

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