LLVM 20.0.0git
Public Member Functions | List of all members
llvm::codeview::GlobalTypeTableBuilder Class Reference

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

Inheritance diagram for llvm::codeview::GlobalTypeTableBuilder:
Inheritance graph
[legend]

Public Member Functions

 GlobalTypeTableBuilder (BumpPtrAllocator &Storage)
 
 ~GlobalTypeTableBuilder ()
 
std::optional< TypeIndexgetFirst () override
 
std::optional< TypeIndexgetNext (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
 
bool replaceType (TypeIndex &Index, CVType Data, bool Stabilize) override
 
void reset ()
 
TypeIndex nextTypeIndex () const
 
BumpPtrAllocatorgetAllocator ()
 
ArrayRef< ArrayRef< uint8_t > > records () const
 
ArrayRef< GloballyHashedTypehashes () const
 
template<typename CreateFunc >
TypeIndex insertRecordAs (GloballyHashedType Hash, size_t RecordSize, CreateFunc Create)
 
TypeIndex insertRecordBytes (ArrayRef< uint8_t > Data)
 
TypeIndex insertRecord (ContinuationRecordBuilder &Builder)
 
template<typename T >
TypeIndex writeLeafType (T &Record)
 
- Public Member Functions inherited from llvm::codeview::TypeCollection
virtual ~TypeCollection ()=default
 
bool empty ()
 
virtual std::optional< TypeIndexgetFirst ()=0
 
virtual std::optional< TypeIndexgetNext (TypeIndex Prev)=0
 
virtual CVType getType (TypeIndex Index)=0
 
virtual StringRef getTypeName (TypeIndex Index)=0
 
virtual bool contains (TypeIndex Index)=0
 
virtual uint32_t size ()=0
 
virtual uint32_t capacity ()=0
 
virtual bool replaceType (TypeIndex &Index, CVType Data, bool Stabilize)=0
 
template<typename TFunc >
void ForEachRecord (TFunc Func)
 

Detailed Description

Definition at line 29 of file GlobalTypeTableBuilder.h.

Constructor & Destructor Documentation

◆ GlobalTypeTableBuilder()

GlobalTypeTableBuilder::GlobalTypeTableBuilder ( BumpPtrAllocator Storage)
explicit

Definition at line 26 of file GlobalTypeTableBuilder.cpp.

◆ ~GlobalTypeTableBuilder()

GlobalTypeTableBuilder::~GlobalTypeTableBuilder ( )
default

Member Function Documentation

◆ capacity()

uint32_t GlobalTypeTableBuilder::capacity ( )
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 64 of file GlobalTypeTableBuilder.cpp.

◆ contains()

bool GlobalTypeTableBuilder::contains ( TypeIndex  Index)
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 55 of file GlobalTypeTableBuilder.cpp.

◆ getAllocator()

BumpPtrAllocator & llvm::codeview::GlobalTypeTableBuilder::getAllocator ( )
inline

Definition at line 65 of file GlobalTypeTableBuilder.h.

◆ getFirst()

std::optional< TypeIndex > GlobalTypeTableBuilder::getFirst ( )
overridevirtual

◆ getNext()

std::optional< TypeIndex > GlobalTypeTableBuilder::getNext ( TypeIndex  Prev)
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 40 of file GlobalTypeTableBuilder.cpp.

References nextTypeIndex().

◆ getType()

CVType GlobalTypeTableBuilder::getType ( TypeIndex  Index)
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 46 of file GlobalTypeTableBuilder.cpp.

◆ getTypeName()

StringRef GlobalTypeTableBuilder::getTypeName ( TypeIndex  Index)
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 51 of file GlobalTypeTableBuilder.cpp.

References llvm_unreachable.

◆ hashes()

ArrayRef< GloballyHashedType > GlobalTypeTableBuilder::hashes ( ) const

Definition at line 70 of file GlobalTypeTableBuilder.cpp.

◆ insertRecord()

TypeIndex GlobalTypeTableBuilder::insertRecord ( ContinuationRecordBuilder Builder)

◆ insertRecordAs()

template<typename CreateFunc >
TypeIndex llvm::codeview::GlobalTypeTableBuilder::insertRecordAs ( GloballyHashedType  Hash,
size_t  RecordSize,
CreateFunc  Create 
)
inline

◆ insertRecordBytes()

TypeIndex GlobalTypeTableBuilder::insertRecordBytes ( ArrayRef< uint8_t Data)

◆ nextTypeIndex()

TypeIndex GlobalTypeTableBuilder::nextTypeIndex ( ) const

◆ records()

ArrayRef< ArrayRef< uint8_t > > GlobalTypeTableBuilder::records ( ) const

Definition at line 66 of file GlobalTypeTableBuilder.cpp.

◆ replaceType()

bool GlobalTypeTableBuilder::replaceType ( TypeIndex Index,
CVType  Data,
bool  Stabilize 
)
overridevirtual

◆ reset()

void GlobalTypeTableBuilder::reset ( )

Definition at line 74 of file GlobalTypeTableBuilder.cpp.

◆ size()

uint32_t GlobalTypeTableBuilder::size ( )
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 62 of file GlobalTypeTableBuilder.cpp.

◆ writeLeafType()

template<typename T >
TypeIndex llvm::codeview::GlobalTypeTableBuilder::writeLeafType ( T Record)
inline

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