LLVM 22.0.0git
llvm::codeview::MergingTypeTableBuilder Class Reference

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

Inheritance diagram for llvm::codeview::MergingTypeTableBuilder:
[legend]

Public Member Functions

 MergingTypeTableBuilder (BumpPtrAllocator &Storage)
 ~MergingTypeTableBuilder ()
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
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)

Detailed Description

Definition at line 29 of file MergingTypeTableBuilder.h.

Constructor & Destructor Documentation

◆ MergingTypeTableBuilder()

MergingTypeTableBuilder::MergingTypeTableBuilder ( BumpPtrAllocator & Storage)
explicit

Definition at line 27 of file MergingTypeTableBuilder.cpp.

◆ ~MergingTypeTableBuilder()

MergingTypeTableBuilder::~MergingTypeTableBuilder ( )
default

Member Function Documentation

◆ capacity()

uint32_t MergingTypeTableBuilder::capacity ( )
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 65 of file MergingTypeTableBuilder.cpp.

Referenced by ~MergingTypeTableBuilder().

◆ contains()

bool MergingTypeTableBuilder::contains ( TypeIndex Index)
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 56 of file MergingTypeTableBuilder.cpp.

◆ getAllocator()

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

Definition at line 62 of file MergingTypeTableBuilder.h.

◆ getFirst()

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

◆ getNext()

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

Implements llvm::codeview::TypeCollection.

Definition at line 41 of file MergingTypeTableBuilder.cpp.

References nextTypeIndex().

Referenced by ~MergingTypeTableBuilder().

◆ getType()

CVType MergingTypeTableBuilder::getType ( TypeIndex Index)
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 47 of file MergingTypeTableBuilder.cpp.

References Type.

◆ getTypeName()

StringRef MergingTypeTableBuilder::getTypeName ( TypeIndex Index)
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 52 of file MergingTypeTableBuilder.cpp.

References llvm_unreachable.

◆ insertRecord()

TypeIndex MergingTypeTableBuilder::insertRecord ( ContinuationRecordBuilder & Builder)

◆ insertRecordAs()

TypeIndex MergingTypeTableBuilder::insertRecordAs ( hash_code Hash,
ArrayRef< uint8_t > & Record )

◆ insertRecordBytes()

TypeIndex MergingTypeTableBuilder::insertRecordBytes ( ArrayRef< uint8_t > & Record)

Definition at line 106 of file MergingTypeTableBuilder.cpp.

References llvm::hash_value(), and insertRecordAs().

Referenced by insertRecord(), and writeLeafType().

◆ nextTypeIndex()

TypeIndex MergingTypeTableBuilder::nextTypeIndex ( ) const

◆ records()

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

Definition at line 67 of file MergingTypeTableBuilder.cpp.

◆ replaceType()

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

◆ reset()

void MergingTypeTableBuilder::reset ( )

Definition at line 71 of file MergingTypeTableBuilder.cpp.

Referenced by ~MergingTypeTableBuilder().

◆ size()

uint32_t MergingTypeTableBuilder::size ( )
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 63 of file MergingTypeTableBuilder.cpp.

Referenced by ~MergingTypeTableBuilder().

◆ writeLeafType()

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

Definition at line 70 of file MergingTypeTableBuilder.h.

References llvm::Data, insertRecordBytes(), and T.


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