LLVM
8.0.1
|
A 32-bit type reference. More...
#include "llvm/DebugInfo/CodeView/TypeIndex.h"
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 |
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 | 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 StringRef | simpleTypeName (TypeIndex TI) |
Static Public Attributes | |
static const uint32_t | FirstNonSimpleIndex = 0x1000 |
static const uint32_t | SimpleKindMask = 0x000000ff |
static const uint32_t | SimpleModeMask = 0x00000700 |
static const uint32_t | DecoratedItemIdMask = 0x80000000 |
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 96 of file TypeIndex.h.
|
inline |
Definition at line 104 of file TypeIndex.h.
|
inlineexplicit |
Definition at line 105 of file TypeIndex.h.
|
inlineexplicit |
Definition at line 106 of file TypeIndex.h.
|
inline |
Definition at line 108 of file TypeIndex.h.
|
inlinestatic |
Definition at line 186 of file TypeIndex.h.
References llvm::codeview::Float32.
|
inlinestatic |
Definition at line 187 of file TypeIndex.h.
References llvm::codeview::Float64.
Definition at line 123 of file TypeIndex.h.
Referenced by llvm::codeview::LazyRandomTypeCollection::capacity(), llvm::codeview::TypeTableCollection::getFirst(), llvm::codeview::LazyRandomTypeCollection::getFirst(), llvm::codeview::LazyRandomTypeCollection::getNext(), llvm::codeview::AppendingTypeTableBuilder::nextTypeIndex(), llvm::codeview::MergingTypeTableBuilder::nextTypeIndex(), llvm::codeview::GlobalTypeTableBuilder::nextTypeIndex(), and llvm::codeview::TypeDumpVisitor::visitTypeBegin().
|
inline |
Definition at line 111 of file TypeIndex.h.
Referenced by copyBytesForDefRange(), emitNullTerminatedSymbolName(), llvm::format_provider< codeview::TypeIndex >::format(), llvm::DenseMapInfo< codeview::TypeIndex >::getHashValue(), llvm::codeview::CodeViewRecordIO::mapInteger(), llvm::codeview::printTypeIndex(), slotForIndex(), llvm::codeview::TypeDumpVisitor::visitTypeBegin(), and llvm::codeview::ContinuationRecordBuilder::writeMemberType().
|
inline |
Definition at line 127 of file TypeIndex.h.
References assert(), and isSimple().
Referenced by llvm::pdb::SymbolCache::createGlobalsEnumerator(), llvm::pdb::NativeTypeEnum::getBuiltinType(), shouldEmitUdt(), and simpleTypeName().
|
inline |
Definition at line 132 of file TypeIndex.h.
References assert(), and isSimple().
Referenced by llvm::pdb::SymbolCache::createGlobalsEnumerator(), llvm::pdb::NativeTypeEnum::getBuiltinType(), llvm::pdb::NativeTypePointer::getLength(), llvm::pdb::NativeTypePointer::NativeTypePointer(), shouldEmitUdt(), and simpleTypeName().
|
inlinestatic |
Definition at line 167 of file TypeIndex.h.
References llvm::codeview::Int16Short.
|
inlinestatic |
Definition at line 173 of file TypeIndex.h.
References llvm::codeview::Int32.
|
inlinestatic |
Definition at line 175 of file TypeIndex.h.
References llvm::codeview::Int32Long.
|
inlinestatic |
Definition at line 179 of file TypeIndex.h.
References llvm::codeview::Int64.
|
inlinestatic |
Definition at line 181 of file TypeIndex.h.
References llvm::codeview::Int64Quad.
|
inline |
Definition at line 114 of file TypeIndex.h.
|
inline |
Definition at line 116 of file TypeIndex.h.
References llvm::codeview::None.
Referenced by llvm::codeview::AppendingTypeTableBuilder::contains(), llvm::codeview::MergingTypeTableBuilder::contains(), llvm::codeview::GlobalTypeTableBuilder::contains(), llvm::codeview::LazyRandomTypeCollection::contains(), llvm::format_provider< codeview::TypeIndex >::format(), llvm::codeview::TypeTableCollection::getTypeName(), llvm::codeview::LazyRandomTypeCollection::getTypeName(), llvm::codeview::printTypeIndex(), and simpleTypeName().
|
inline |
Definition at line 113 of file TypeIndex.h.
Referenced by llvm::codeview::LazyRandomTypeCollection::capacity(), llvm::codeview::AppendingTypeTableBuilder::contains(), llvm::codeview::MergingTypeTableBuilder::contains(), llvm::codeview::GlobalTypeTableBuilder::contains(), llvm::codeview::LazyRandomTypeCollection::contains(), llvm::pdb::SymbolCache::createGlobalsEnumerator(), llvm::pdb::SymbolCache::findSymbolByTypeIndex(), llvm::format_provider< codeview::TypeIndex >::format(), llvm::pdb::NativeTypeEnum::getBuiltinType(), llvm::codeview::LazyRandomTypeCollection::getNext(), llvm::pdb::TpiStream::getType(), llvm::codeview::LazyRandomTypeCollection::getType(), llvm::codeview::TypeTableCollection::getTypeName(), llvm::codeview::LazyRandomTypeCollection::getTypeName(), llvm::pdb::NativeEnumTypes::NativeEnumTypes(), llvm::pdb::NativeTypePointer::NativeTypePointer(), llvm::codeview::printTypeIndex(), shouldEmitUdt(), simpleTypeName(), slotForIndex(), and llvm::codeview::LazyRandomTypeCollection::tryGetType().
|
inline |
Definition at line 137 of file TypeIndex.h.
Referenced by llvm::pdb::NativeTypePointer::getTypeId().
|
inlinestatic |
Definition at line 161 of file TypeIndex.h.
References llvm::codeview::NarrowCharacter.
|
inlinestatic |
Definition at line 139 of file TypeIndex.h.
References llvm::codeview::None.
|
inlinestatic |
Definition at line 148 of file TypeIndex.h.
References llvm::codeview::NearPointer, and llvm::codeview::Void.
Referenced by simpleTypeName().
|
inline |
Definition at line 194 of file TypeIndex.h.
|
inline |
Definition at line 199 of file TypeIndex.h.
References llvm::codeview::Copy.
Definition at line 189 of file TypeIndex.h.
References N.
|
inline |
Definition at line 211 of file TypeIndex.h.
|
inline |
Definition at line 216 of file TypeIndex.h.
References llvm::codeview::Copy.
Definition at line 205 of file TypeIndex.h.
|
inline |
Definition at line 112 of file TypeIndex.h.
References I.
Referenced by llvm::codeview::CodeViewRecordIO::mapInteger().
|
inlinestatic |
Definition at line 155 of file TypeIndex.h.
References llvm::codeview::SignedCharacter.
Definition at line 71 of file TypeIndex.cpp.
References assert(), llvm::codeview::Direct, getSimpleKind(), getSimpleMode(), isNoneType(), isSimple(), and NullptrT().
Referenced by llvm::format_provider< codeview::TypeIndex >::format(), llvm::codeview::TypeTableCollection::getTypeName(), llvm::codeview::LazyRandomTypeCollection::getTypeName(), and llvm::codeview::printTypeIndex().
|
inline |
Definition at line 118 of file TypeIndex.h.
References assert(), and isSimple().
Referenced by llvm::codeview::LazyRandomTypeCollection::capacity(), llvm::codeview::TypeTableCollection::contains(), llvm::codeview::AppendingTypeTableBuilder::contains(), llvm::codeview::MergingTypeTableBuilder::contains(), llvm::codeview::GlobalTypeTableBuilder::contains(), llvm::codeview::LazyRandomTypeCollection::contains(), llvm::codeview::TypeTableCollection::getNext(), llvm::codeview::LazyRandomTypeCollection::getNext(), llvm::codeview::LazyRandomTypeCollection::getOffsetOfType(), llvm::codeview::TypeTableCollection::getType(), llvm::codeview::AppendingTypeTableBuilder::getType(), llvm::codeview::MergingTypeTableBuilder::getType(), llvm::codeview::GlobalTypeTableBuilder::getType(), llvm::codeview::LazyRandomTypeCollection::getType(), llvm::codeview::TypeTableCollection::getTypeName(), llvm::codeview::LazyRandomTypeCollection::getTypeName(), llvm::codeview::MergingTypeTableBuilder::insertRecordAs(), and llvm::codeview::LazyRandomTypeCollection::tryGetType().
|
inlinestatic |
Definition at line 170 of file TypeIndex.h.
References llvm::codeview::UInt16Short.
|
inlinestatic |
Definition at line 174 of file TypeIndex.h.
References llvm::codeview::UInt32.
|
inlinestatic |
Definition at line 176 of file TypeIndex.h.
References llvm::codeview::UInt32Long.
|
inlinestatic |
Definition at line 180 of file TypeIndex.h.
References llvm::codeview::UInt64.
|
inlinestatic |
Definition at line 182 of file TypeIndex.h.
References llvm::codeview::UInt64Quad.
|
inlinestatic |
Definition at line 158 of file TypeIndex.h.
References llvm::codeview::UnsignedCharacter.
|
inlinestatic |
Definition at line 140 of file TypeIndex.h.
References llvm::codeview::Void.
|
inlinestatic |
Definition at line 141 of file TypeIndex.h.
References llvm::codeview::NearPointer32, and llvm::codeview::Void.
|
inlinestatic |
Definition at line 144 of file TypeIndex.h.
References llvm::codeview::NearPointer64, and llvm::codeview::Void.
|
inlinestatic |
Definition at line 164 of file TypeIndex.h.
References llvm::codeview::WideCharacter.
Definition at line 226 of file TypeIndex.h.
Definition at line 246 of file TypeIndex.h.
Definition at line 252 of file TypeIndex.h.
Definition at line 259 of file TypeIndex.h.
Definition at line 230 of file TypeIndex.h.
Definition at line 234 of file TypeIndex.h.
Definition at line 222 of file TypeIndex.h.
Definition at line 238 of file TypeIndex.h.
Definition at line 242 of file TypeIndex.h.
Definition at line 101 of file TypeIndex.h.
Definition at line 98 of file TypeIndex.h.
Referenced by llvm::pdb::TpiStreamBuilder::addTypeRecord(), llvm::codeview::AppendingTypeTableBuilder::getFirst(), llvm::codeview::MergingTypeTableBuilder::getFirst(), llvm::codeview::GlobalTypeTableBuilder::getFirst(), and slotForIndex().
Definition at line 99 of file TypeIndex.h.
Definition at line 100 of file TypeIndex.h.