LLVM
8.0.1
|
#include "llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h"
Public Member Functions | |
MergingTypeTableBuilder (BumpPtrAllocator &Storage) | |
~MergingTypeTableBuilder () | |
Optional< TypeIndex > | getFirst () override |
Optional< TypeIndex > | getNext (TypeIndex Prev) override |
CVType | getType (TypeIndex Index) override |
StringRef | getTypeName (TypeIndex Index) override |
bool | contains (TypeIndex Index) override |
uint32_t | size () override |
uint32_t | capacity () override |
void | reset () |
TypeIndex | nextTypeIndex () const |
BumpPtrAllocator & | getAllocator () |
ArrayRef< ArrayRef< uint8_t > > | records () const |
TypeIndex | insertRecordAs (hash_code Hash, ArrayRef< uint8_t > &Record) |
TypeIndex | insertRecordBytes (ArrayRef< uint8_t > &Record) |
TypeIndex | insertRecord (ContinuationRecordBuilder &Builder) |
template<typename T > | |
TypeIndex | writeLeafType (T &Record) |
Public Member Functions inherited from llvm::codeview::TypeCollection | |
virtual | ~TypeCollection ()=default |
bool | empty () |
template<typename TFunc > | |
void | ForEachRecord (TFunc Func) |
Definition at line 32 of file MergingTypeTableBuilder.h.
|
explicit |
Definition at line 35 of file MergingTypeTableBuilder.cpp.
References ~MergingTypeTableBuilder().
|
default |
Referenced by MergingTypeTableBuilder().
|
overridevirtual |
Implements llvm::codeview::TypeCollection.
Definition at line 77 of file MergingTypeTableBuilder.cpp.
Implements llvm::codeview::TypeCollection.
Definition at line 68 of file MergingTypeTableBuilder.cpp.
References llvm::codeview::TypeIndex::isNoneType(), llvm::codeview::TypeIndex::isSimple(), and llvm::codeview::TypeIndex::toArrayIndex().
|
inline |
Definition at line 64 of file MergingTypeTableBuilder.h.
References insertRecord(), insertRecordAs(), insertRecordBytes(), and records().
Implements llvm::codeview::TypeCollection.
Definition at line 42 of file MergingTypeTableBuilder.cpp.
References llvm::codeview::TypeCollection::empty(), llvm::codeview::TypeIndex::FirstNonSimpleIndex, and llvm::codeview::None.
Implements llvm::codeview::TypeCollection.
Definition at line 49 of file MergingTypeTableBuilder.cpp.
References nextTypeIndex(), and llvm::codeview::None.
Implements llvm::codeview::TypeCollection.
Definition at line 55 of file MergingTypeTableBuilder.cpp.
References llvm::ArrayRef< T >::data(), P, llvm::codeview::CVRecord< Kind >::RecordData, llvm::codeview::RecordPrefix::RecordKind, llvm::codeview::TypeIndex::toArrayIndex(), and llvm::codeview::CVRecord< Kind >::Type.
Implements llvm::codeview::TypeCollection.
Definition at line 64 of file MergingTypeTableBuilder.cpp.
References llvm_unreachable.
TypeIndex MergingTypeTableBuilder::insertRecord | ( | ContinuationRecordBuilder & | Builder | ) |
Definition at line 121 of file MergingTypeTableBuilder.cpp.
References assert(), llvm::codeview::C, llvm::codeview::ContinuationRecordBuilder::end(), insertRecordBytes(), and nextTypeIndex().
Referenced by getAllocator().
Definition at line 95 of file MergingTypeTableBuilder.cpp.
References assert(), nextTypeIndex(), llvm::ArrayRef< T >::size(), stabilize(), and llvm::codeview::TypeIndex::toArrayIndex().
Referenced by getAllocator(), and insertRecordBytes().
Definition at line 116 of file MergingTypeTableBuilder.cpp.
References llvm::hash_value(), and insertRecordAs().
Referenced by getAllocator(), insertRecord(), and writeLeafType().
TypeIndex MergingTypeTableBuilder::nextTypeIndex | ( | ) | const |
Definition at line 31 of file MergingTypeTableBuilder.cpp.
References llvm::codeview::TypeIndex::fromArrayIndex().
Referenced by getNext(), insertRecord(), and insertRecordAs().
Definition at line 79 of file MergingTypeTableBuilder.cpp.
Referenced by getAllocator().
void MergingTypeTableBuilder::reset | ( | ) |
Definition at line 83 of file MergingTypeTableBuilder.cpp.
|
overridevirtual |
Implements llvm::codeview::TypeCollection.
Definition at line 75 of file MergingTypeTableBuilder.cpp.
|
inline |
Definition at line 72 of file MergingTypeTableBuilder.h.
References llvm::Data, insertRecordBytes(), and llvm::codeview::SimpleTypeSerializer::serialize().