LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::codeview::TypeTableBuilder Class Reference

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

Inheritance diagram for llvm::codeview::TypeTableBuilder:
Inheritance graph
[legend]
Collaboration diagram for llvm::codeview::TypeTableBuilder:
Collaboration graph
[legend]

Public Member Functions

 TypeTableBuilder (BumpPtrAllocator &Storage, bool Hash=true)
 
 ~TypeTableBuilder ()
 
Optional< TypeIndexgetFirst () override
 
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
 
void reset ()
 
TypeIndex nextTypeIndex () const
 
BumpPtrAllocatorgetAllocator ()
 
ArrayRef< ArrayRef< uint8_t > > records () const
 
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 34 of file TypeTableBuilder.h.

Constructor & Destructor Documentation

◆ TypeTableBuilder()

TypeTableBuilder::TypeTableBuilder ( BumpPtrAllocator Storage,
bool  Hash = true 
)
explicit

Definition at line 137 of file TypeTableBuilder.cpp.

References ~TypeTableBuilder().

◆ ~TypeTableBuilder()

TypeTableBuilder::~TypeTableBuilder ( )
default

Referenced by TypeTableBuilder().

Member Function Documentation

◆ capacity()

uint32_t TypeTableBuilder::capacity ( )
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 180 of file TypeTableBuilder.cpp.

◆ contains()

bool TypeTableBuilder::contains ( TypeIndex  Index)
overridevirtual

◆ getAllocator()

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

Definition at line 62 of file TypeTableBuilder.h.

References insertRecord(), insertRecordBytes(), and records().

◆ getFirst()

Optional< TypeIndex > TypeTableBuilder::getFirst ( )
overridevirtual

◆ getNext()

Optional< TypeIndex > TypeTableBuilder::getNext ( TypeIndex  Prev)
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 152 of file TypeTableBuilder.cpp.

References nextTypeIndex(), and llvm::codeview::None.

◆ getType()

CVType TypeTableBuilder::getType ( TypeIndex  Index)
overridevirtual

◆ getTypeName()

StringRef TypeTableBuilder::getTypeName ( TypeIndex  Index)
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 167 of file TypeTableBuilder.cpp.

References llvm_unreachable.

◆ insertRecord()

TypeIndex TypeTableBuilder::insertRecord ( ContinuationRecordBuilder Builder)

◆ insertRecordBytes()

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

◆ nextTypeIndex()

TypeIndex TypeTableBuilder::nextTypeIndex ( ) const

◆ records()

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

◆ reset()

void TypeTableBuilder::reset ( )

Definition at line 186 of file TypeTableBuilder.cpp.

◆ size()

uint32_t TypeTableBuilder::size ( )
overridevirtual

Implements llvm::codeview::TypeCollection.

Definition at line 178 of file TypeTableBuilder.cpp.

◆ writeLeafType()

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

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