LLVM
8.0.1
|
#include "llvm/DebugInfo/CodeView/TypeDeserializer.h"
Public Member Functions | |
TypeDeserializer ()=default | |
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 |
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... | |
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< T > | deserializeAs (ArrayRef< uint8_t > Data) |
Definition at line 29 of file TypeDeserializer.h.
|
default |
|
inlinestatic |
Definition at line 43 of file TypeDeserializer.h.
References llvm::codeview::CVRecord< Kind >::content(), llvm::codeview::EC, I, llvm::codeview::CVRecord< Kind >::kind(), and llvm::Error::success().
Referenced by getHashForUdt(), getSourceLineHash(), getTagRecordHashForUdt(), and llvm::codeview::mergeIdRecords().
|
inlinestatic |
Definition at line 56 of file TypeDeserializer.h.
References llvm::ArrayRef< T >::data(), llvm::codeview::EC, llvm::cl::Prefix, and llvm::codeview::RecordPrefix::RecordKind.
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 68 of file TypeDeserializer.h.
References assert(), and llvm::codeview::CVRecord< Kind >::content().
Referenced by visitTypeBegin().
|
inlineoverridevirtual |
Reimplemented from llvm::codeview::TypeVisitorCallbacks.
Definition at line 74 of file TypeDeserializer.h.
References visitTypeBegin().
Reimplemented from llvm::codeview::TypeVisitorCallbacks.
Definition at line 78 of file TypeDeserializer.h.
References assert(), and llvm::codeview::EC.