LLVM 20.0.0git
|
CVRecord is a fat pointer (base + size pair) to a symbol or type record. More...
#include "llvm/DebugInfo/CodeView/CVRecord.h"
Public Member Functions | |
CVRecord ()=default | |
CVRecord (ArrayRef< uint8_t > Data) | |
CVRecord (const RecordPrefix *P, size_t Size) | |
bool | valid () const |
uint32_t | length () const |
Kind | kind () const |
ArrayRef< uint8_t > | data () const |
StringRef | str_data () const |
ArrayRef< uint8_t > | content () const |
Public Attributes | |
ArrayRef< uint8_t > | RecordData |
CVRecord is a fat pointer (base + size pair) to a symbol or type record.
Carrying the size separately instead of trusting the size stored in the record prefix provides some extra safety and flexibility.
Definition at line 29 of file CVRecord.h.
|
default |
|
inline |
Definition at line 33 of file CVRecord.h.
|
inline |
Definition at line 35 of file CVRecord.h.
|
inline |
Definition at line 56 of file CVRecord.h.
References llvm::ArrayRef< T >::drop_front(), and llvm::codeview::CVRecord< Kind >::RecordData.
Referenced by llvm::codeview::TypeDeserializer::deserializeAs().
|
inline |
Definition at line 49 of file CVRecord.h.
References llvm::codeview::CVRecord< Kind >::RecordData.
Referenced by llvm::BinaryItemTraits< codeview::CVType >::bytes(), llvm::BinaryItemTraits< llvm::codeview::CVType >::bytes(), getHashForUdt(), getTagRecordHashForUdt(), and llvm::pdb::hashTypeRecord().
|
inline |
Definition at line 42 of file CVRecord.h.
References llvm::ArrayRef< T >::data(), llvm::codeview::CVRecord< Kind >::RecordData, and llvm::ArrayRef< T >::size().
Referenced by createRecord(), llvm::codeview::TypeDeserializer::deserializeAs(), llvm::pdb::TpiStream::findFullDeclForForwardRef(), llvm::pdb::SymbolCache::findSymbolByTypeIndex(), llvm::CodeViewYAML::detail::UnknownSymbolRecord::fromCodeViewSymbol(), llvm::codeview::getModifiedType(), llvm::pdb::NativeInlineSiteSymbol::getName(), llvm::pdb::SymbolCache::getOrCreateGlobalSymbolByOffset(), llvm::logicalview::getRecordName(), llvm::codeview::getSizeInBytesForTypeRecord(), llvm::pdb::hashTypeRecord(), llvm::codeview::isAggregate(), llvm::codeview::isUdtForwardRef(), llvm::codeview::limitSymbolArrayToScope(), llvm::pdb::NativeEnumGlobals::NativeEnumGlobals(), llvm::pdb::NativeEnumTypes::NativeEnumTypes(), llvm::codeview::SimpleTypeSerializer::serialize(), llvm::codeview::CVRecord< Kind >::valid(), llvm::logicalview::LVLogicalVisitor::visitKnownRecord(), and llvm::codeview::TypeRecordMapping::visitTypeBegin().
|
inline |
Definition at line 40 of file CVRecord.h.
References llvm::codeview::CVRecord< Kind >::RecordData, and llvm::ArrayRef< T >::size().
Referenced by llvm::codeview::getSizeInBytesForTypeRecord(), llvm::BinaryItemTraits< codeview::CVType >::length(), llvm::BinaryItemTraits< llvm::codeview::CVType >::length(), and llvm::codeview::TypeRecordMapping::visitTypeBegin().
|
inline |
Definition at line 51 of file CVRecord.h.
References llvm::ArrayRef< T >::data(), llvm::codeview::CVRecord< Kind >::RecordData, and llvm::ArrayRef< T >::size().
|
inline |
Definition at line 38 of file CVRecord.h.
References llvm::codeview::CVRecord< Kind >::kind().
ArrayRef<uint8_t> llvm::codeview::CVRecord< Kind >::RecordData |
Definition at line 60 of file CVRecord.h.
Referenced by llvm::BinaryItemTraits< codeview::CVSymbol >::bytes(), llvm::codeview::CVRecord< Kind >::content(), llvm::codeview::CVRecord< Kind >::data(), llvm::CodeViewYAML::detail::UnknownSymbolRecord::fromCodeViewSymbol(), llvm::pdb::SymbolDenseMapInfo::getHashValue(), llvm::codeview::CVRecord< Kind >::kind(), llvm::codeview::CVRecord< Kind >::length(), llvm::BinaryItemTraits< codeview::CVSymbol >::length(), llvm::codeview::limitSymbolArrayToScope(), and llvm::codeview::CVRecord< Kind >::str_data().