class GlobalTypeTableBuilder
Declaration
class GlobalTypeTableBuilder : public TypeCollection { /* full declaration omitted */ };
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:29
Inherits from: TypeCollection
Member Variables
- private llvm::BumpPtrAllocator& RecordStorage
- Storage for records. These need to outlive the TypeTableBuilder.
- private llvm::codeview::SimpleTypeSerializer SimpleSerializer
- A serializer that can write non-continuation leaf types. Only used as a convenience function so that we can provide an interface method to write an unserialized record.
- private DenseMap<llvm::codeview::GloballyHashedType, llvm::codeview::TypeIndex> HashedRecords
- Hash table.
- private SmallVector<ArrayRef<uint8_t>, 2> SeenRecords
- Contains a list of all records indexed by TypeIndex.toArrayIndex().
- private SmallVector<llvm::codeview::GloballyHashedType, 2> SeenHashes
- Contains a list of all hash values indexed by TypeIndex.toArrayIndex().
Method Overview
- public GlobalTypeTableBuilder(llvm::BumpPtrAllocator & Storage)
- public uint32_t capacity()
- public bool contains(llvm::codeview::TypeIndex Index)
- public llvm::BumpPtrAllocator & getAllocator()
- public Optional<llvm::codeview::TypeIndex> getFirst()
- public Optional<llvm::codeview::TypeIndex> getNext(llvm::codeview::TypeIndex Prev)
- public llvm::codeview::CVType getType(llvm::codeview::TypeIndex Index)
- public llvm::StringRef getTypeName(llvm::codeview::TypeIndex Index)
- public ArrayRef<llvm::codeview::GloballyHashedType> hashes() const
- public llvm::codeview::TypeIndex insertRecord(llvm::codeview::ContinuationRecordBuilder & Builder)
- public template <typename CreateFunc>llvm::codeview::TypeIndex insertRecordAs(llvm::codeview::GloballyHashedType Hash, size_t RecordSize, CreateFunc Create)
- public llvm::codeview::TypeIndex insertRecordBytes(ArrayRef<uint8_t> Data)
- public llvm::codeview::TypeIndex nextTypeIndex() const
- public ArrayRef<ArrayRef<uint8_t>> records() const
- public bool replaceType(llvm::codeview::TypeIndex & Index, llvm::codeview::CVType Data, bool Stabilize)
- public void reset()
- public uint32_t size()
- public template <typename T>llvm::codeview::TypeIndex writeLeafType(T & Record)
- public ~GlobalTypeTableBuilder()
Inherited from TypeCollection:
- public ForEachRecord
- public capacity
- public contains
- public empty
- public getFirst
- public getNext
- public getType
- public getTypeName
- public replaceType
- public size
Methods
¶GlobalTypeTableBuilder(
llvm::BumpPtrAllocator& Storage)
GlobalTypeTableBuilder(
llvm::BumpPtrAllocator& Storage)
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:48
Parameters
- llvm::BumpPtrAllocator& Storage
¶uint32_t capacity()
uint32_t capacity()
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:58
¶bool contains(llvm::codeview::TypeIndex Index)
bool contains(llvm::codeview::TypeIndex Index)
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:56
Parameters
¶llvm::BumpPtrAllocator& getAllocator()
llvm::BumpPtrAllocator& getAllocator()
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:65
¶Optional<llvm::codeview::TypeIndex> getFirst()
Optional<llvm::codeview::TypeIndex> getFirst()
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:52
¶Optional<llvm::codeview::TypeIndex> getNext(
llvm::codeview::TypeIndex Prev)
Optional<llvm::codeview::TypeIndex> getNext(
llvm::codeview::TypeIndex Prev)
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:53
Parameters
¶llvm::codeview::CVType getType(
llvm::codeview::TypeIndex Index)
llvm::codeview::CVType getType(
llvm::codeview::TypeIndex Index)
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:54
Parameters
¶llvm::StringRef getTypeName(
llvm::codeview::TypeIndex Index)
llvm::StringRef getTypeName(
llvm::codeview::TypeIndex Index)
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:55
Parameters
¶ArrayRef<llvm::codeview::GloballyHashedType>
hashes() const
ArrayRef<llvm::codeview::GloballyHashedType>
hashes() const
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:68
¶llvm::codeview::TypeIndex insertRecord(
llvm::codeview::ContinuationRecordBuilder&
Builder)
llvm::codeview::TypeIndex insertRecord(
llvm::codeview::ContinuationRecordBuilder&
Builder)
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:108
Parameters
¶template <typename CreateFunc>
llvm::codeview::TypeIndex insertRecordAs(
llvm::codeview::GloballyHashedType Hash,
size_t RecordSize,
CreateFunc Create)
template <typename CreateFunc>
llvm::codeview::TypeIndex insertRecordAs(
llvm::codeview::GloballyHashedType Hash,
size_t RecordSize,
CreateFunc Create)
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:71
Templates
- CreateFunc
Parameters
- llvm::codeview::GloballyHashedType Hash
- size_t RecordSize
- CreateFunc Create
¶llvm::codeview::TypeIndex insertRecordBytes(
ArrayRef<uint8_t> Data)
llvm::codeview::TypeIndex insertRecordBytes(
ArrayRef<uint8_t> Data)
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:107
Parameters
- ArrayRef<uint8_t> Data
¶llvm::codeview::TypeIndex nextTypeIndex() const
llvm::codeview::TypeIndex nextTypeIndex() const
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:63
¶ArrayRef<ArrayRef<uint8_t>> records() const
ArrayRef<ArrayRef<uint8_t>> records() const
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:67
¶bool replaceType(llvm::codeview::TypeIndex& Index,
llvm::codeview::CVType Data,
bool Stabilize)
bool replaceType(llvm::codeview::TypeIndex& Index,
llvm::codeview::CVType Data,
bool Stabilize)
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:59
Parameters
- llvm::codeview::TypeIndex& Index
- llvm::codeview::CVType Data
- bool Stabilize
¶void reset()
void reset()
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:62
¶uint32_t size()
uint32_t size()
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:57
¶template <typename T>
llvm::codeview::TypeIndex writeLeafType(T& Record)
template <typename T>
llvm::codeview::TypeIndex writeLeafType(T& Record)
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:110
Templates
- T
Parameters
- T& Record
¶~GlobalTypeTableBuilder()
~GlobalTypeTableBuilder()
Declared at: llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h:49