LLVM: llvm::codeview::TypeIndex Class Reference (original) (raw)

A 32-bit type reference. More...

#include "[llvm/DebugInfo/CodeView/TypeIndex.h](TypeIndex%5F8h%5Fsource.html)"

Public Member Functions
TypeIndex ()
TypeIndex (uint32_t Index)
TypeIndex (SimpleTypeKind Kind)
TypeIndex (SimpleTypeKind Kind, SimpleTypeMode Mode)
uint32_t getIndex () const
void setIndex (uint32_t I)
bool isSimple () const
bool isDecoratedItemId () const
bool isNoneType () const
uint32_t toArrayIndex () const
TypeIndex removeDecoration ()
SimpleTypeKind getSimpleKind () const
SimpleTypeMode getSimpleMode () const
TypeIndex makeDirect () const
TypeIndex & operator+= (unsigned N)
TypeIndex & operator++ ()
TypeIndex operator++ (int)
TypeIndex & operator-= (unsigned N)
TypeIndex & operator-- ()
TypeIndex operator-- (int)
Static Public Member Functions
static TypeIndex fromArrayIndex (uint32_t Index)
static TypeIndex fromDecoratedArrayIndex (bool IsItem, uint32_t Index)
static TypeIndex None ()
static TypeIndex Void ()
static TypeIndex VoidPointer32 ()
static TypeIndex VoidPointer64 ()
static TypeIndex NullptrT ()
static TypeIndex SignedCharacter ()
static TypeIndex UnsignedCharacter ()
static TypeIndex NarrowCharacter ()
static TypeIndex WideCharacter ()
static TypeIndex Int16Short ()
static TypeIndex UInt16Short ()
static TypeIndex Int32 ()
static TypeIndex UInt32 ()
static TypeIndex Int32Long ()
static TypeIndex UInt32Long ()
static TypeIndex Int64 ()
static TypeIndex UInt64 ()
static TypeIndex Int64Quad ()
static TypeIndex UInt64Quad ()
static TypeIndex Float32 ()
static TypeIndex Float64 ()
static LLVM_ABI StringRef simpleTypeName (TypeIndex TI)
Friends
bool operator== (const TypeIndex &A, const TypeIndex &B)
bool operator!= (const TypeIndex &A, const TypeIndex &B)
bool operator< (const TypeIndex &A, const TypeIndex &B)
bool operator<= (const TypeIndex &A, const TypeIndex &B)
bool operator> (const TypeIndex &A, const TypeIndex &B)
bool operator>= (const TypeIndex &A, const TypeIndex &B)
TypeIndex operator+ (const TypeIndex &A, uint32_t N)
TypeIndex operator- (const TypeIndex &A, uint32_t N)
uint32_t operator- (const TypeIndex &A, const TypeIndex &B)

A 32-bit type reference.

Types are indexed by their order of appearance in .debug$T plus 0x1000. Type indices less than 0x1000 are "simple" types, composed of a SimpleTypeMode byte followed by a SimpleTypeKind byte.

Definition at line 97 of file TypeIndex.h.

llvm::codeview::TypeIndex::TypeIndex ( ) inline

Definition at line 105 of file TypeIndex.h.

References None().

Referenced by Float32(), Float64(), fromArrayIndex(), fromDecoratedArrayIndex(), Int16Short(), Int32(), Int32Long(), Int64(), Int64Quad(), makeDirect(), NarrowCharacter(), None(), NullptrT(), operator!=, operator+, operator++(), operator++(), operator+=(), operator-, operator-, operator--(), operator--(), operator-=(), operator<, operator<=, operator==, operator>, operator>=, removeDecoration(), SignedCharacter(), simpleTypeName(), UInt16Short(), UInt32(), UInt32Long(), UInt64(), UInt64Quad(), UnsignedCharacter(), Void(), VoidPointer32(), VoidPointer64(), and WideCharacter().

TypeIndex() [2/4]

llvm::codeview::TypeIndex::TypeIndex ( uint32_t Index) inlineexplicit

TypeIndex() [3/4]

llvm::codeview::TypeIndex::TypeIndex ( SimpleTypeKind Kind) inlineexplicit

TypeIndex() [4/4]

Float32()

TypeIndex llvm::codeview::TypeIndex::Float32 ( ) inlinestatic

Float64()

TypeIndex llvm::codeview::TypeIndex::Float64 ( ) inlinestatic

fromArrayIndex()

fromDecoratedArrayIndex()

getIndex()

uint32_t llvm::codeview::TypeIndex::getIndex ( ) const inline

Definition at line 112 of file TypeIndex.h.

Referenced by llvm::logicalview::LVLogicalVisitor::createElement(), llvm::logicalview::LVLogicalVisitor::getElement(), llvm::DenseMapInfo< codeview::TypeIndex >::getHashValue(), llvm::logicalview::getTrueType(), llvm::codeview::CodeViewRecordIO::mapInteger(), llvm::logicalview::LVLogicalVisitor::printMemberBegin(), llvm::logicalview::LVLogicalVisitor::printTypeBegin(), llvm::codeview::printTypeIndex(), slotForIndex(), toArrayIndex(), llvm::logicalview::LVLogicalVisitor::visitKnownRecord(), llvm::logicalview::LVLogicalVisitor::visitKnownRecord(), and llvm::logicalview::LVTypeVisitor::visitTypeBegin().

getSimpleKind()

SimpleTypeKind llvm::codeview::TypeIndex::getSimpleKind ( ) const inline

getSimpleMode()

SimpleTypeMode llvm::codeview::TypeIndex::getSimpleMode ( ) const inline

Int16Short()

TypeIndex llvm::codeview::TypeIndex::Int16Short ( ) inlinestatic

Int32()

TypeIndex llvm::codeview::TypeIndex::Int32 ( ) inlinestatic

Int32Long()

TypeIndex llvm::codeview::TypeIndex::Int32Long ( ) inlinestatic

Int64()

TypeIndex llvm::codeview::TypeIndex::Int64 ( ) inlinestatic

Int64Quad()

TypeIndex llvm::codeview::TypeIndex::Int64Quad ( ) inlinestatic

isDecoratedItemId()

bool llvm::codeview::TypeIndex::isDecoratedItemId ( ) const inline

isNoneType()

bool llvm::codeview::TypeIndex::isNoneType ( ) const inline

isSimple()

bool llvm::codeview::TypeIndex::isSimple ( ) const inline

Definition at line 114 of file TypeIndex.h.

References FirstNonSimpleIndex.

Referenced by llvm::logicalview::LVLogicalVisitor::getElement(), llvm::logicalview::getRecordName(), getSimpleKind(), getSimpleMode(), llvm::codeview::getSizeInBytesForTypeIndex(), llvm::pdb::NativeEnumTypes::NativeEnumTypes(), llvm::codeview::printTypeIndex(), simpleTypeName(), slotForIndex(), toArrayIndex(), llvm::logicalview::LVLogicalVisitor::visitKnownRecord(), and llvm::logicalview::LVSymbolVisitor::visitKnownRecord().

makeDirect()

TypeIndex llvm::codeview::TypeIndex::makeDirect ( ) const inline

NarrowCharacter()

TypeIndex llvm::codeview::TypeIndex::NarrowCharacter ( ) inlinestatic

None()

TypeIndex llvm::codeview::TypeIndex::None ( ) inlinestatic

NullptrT()

TypeIndex llvm::codeview::TypeIndex::NullptrT ( ) inlinestatic

operator++() [1/2]

TypeIndex & llvm::codeview::TypeIndex::operator++ ( ) inline

operator++() [2/2]

TypeIndex llvm::codeview::TypeIndex::operator++ ( int ) inline

operator+=()

operator--() [1/2]

TypeIndex & llvm::codeview::TypeIndex::operator-- ( ) inline

operator--() [2/2]

TypeIndex llvm::codeview::TypeIndex::operator-- ( int ) inline

operator-=()

removeDecoration()

TypeIndex llvm::codeview::TypeIndex::removeDecoration ( ) inline

setIndex()

void llvm::codeview::TypeIndex::setIndex ( uint32_t I) inline

SignedCharacter()

TypeIndex llvm::codeview::TypeIndex::SignedCharacter ( ) inlinestatic

simpleTypeName()

Definition at line 71 of file TypeIndex.cpp.

References assert(), llvm::codeview::Direct, getSimpleKind(), getSimpleMode(), isNoneType(), isSimple(), NullptrT(), and TypeIndex().

Referenced by llvm::format_provider< codeview::TypeIndex >::format(), llvm::logicalview::LVLogicalVisitor::getElement(), llvm::codeview::LazyRandomTypeCollection::getTypeName(), llvm::codeview::TypeTableCollection::getTypeName(), and llvm::codeview::printTypeIndex().

toArrayIndex()

uint32_t llvm::codeview::TypeIndex::toArrayIndex ( ) const inline

UInt16Short()

TypeIndex llvm::codeview::TypeIndex::UInt16Short ( ) inlinestatic

UInt32()

TypeIndex llvm::codeview::TypeIndex::UInt32 ( ) inlinestatic

UInt32Long()

TypeIndex llvm::codeview::TypeIndex::UInt32Long ( ) inlinestatic

UInt64()

TypeIndex llvm::codeview::TypeIndex::UInt64 ( ) inlinestatic

UInt64Quad()

TypeIndex llvm::codeview::TypeIndex::UInt64Quad ( ) inlinestatic

UnsignedCharacter()

TypeIndex llvm::codeview::TypeIndex::UnsignedCharacter ( ) inlinestatic

Void()

TypeIndex llvm::codeview::TypeIndex::Void ( ) inlinestatic

VoidPointer32()

TypeIndex llvm::codeview::TypeIndex::VoidPointer32 ( ) inlinestatic

VoidPointer64()

TypeIndex llvm::codeview::TypeIndex::VoidPointer64 ( ) inlinestatic

WideCharacter()

TypeIndex llvm::codeview::TypeIndex::WideCharacter ( ) inlinestatic

operator!=

operator+

operator- [1/2]

operator- [2/2]

operator<

operator<=

operator==

operator>

operator>=

DecoratedItemIdMask

const uint32_t llvm::codeview::TypeIndex::DecoratedItemIdMask = 0x80000000 static

FirstNonSimpleIndex

const uint32_t llvm::codeview::TypeIndex::FirstNonSimpleIndex = 0x1000 static

SimpleKindMask

const uint32_t llvm::codeview::TypeIndex::SimpleKindMask = 0x000000ff static

SimpleModeMask

const uint32_t llvm::codeview::TypeIndex::SimpleModeMask = 0x00000700 static

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