LLVM 22.0.0git
TypeIndexDiscovery.cpp File Reference

Go to the source code of this file.

Functions

static MethodKind getMethodKind (uint16_t Attrs)
static bool isIntroVirtual (uint16_t Attrs)
static PointerMode getPointerMode (uint32_t Attrs)
static bool isMemberPointer (uint32_t Attrs)
static uint32_t getEncodedIntegerLength (ArrayRef< uint8_t > Data)
static uint32_t getCStringLength (ArrayRef< uint8_t > Data)
static void handleMethodOverloadList (ArrayRef< uint8_t > Content, SmallVectorImpl< TiReference > &Refs)
static uint32_t handleBaseClass (ArrayRef< uint8_t > Data, uint32_t Offset, SmallVectorImpl< TiReference > &Refs)
static uint32_t handleEnumerator (ArrayRef< uint8_t > Data, uint32_t Offset, SmallVectorImpl< TiReference > &Refs)
static uint32_t handleDataMember (ArrayRef< uint8_t > Data, uint32_t Offset, SmallVectorImpl< TiReference > &Refs)
static uint32_t handleOverloadedMethod (ArrayRef< uint8_t > Data, uint32_t Offset, SmallVectorImpl< TiReference > &Refs)
static uint32_t handleOneMethod (ArrayRef< uint8_t > Data, uint32_t Offset, SmallVectorImpl< TiReference > &Refs)
static uint32_t handleNestedType (ArrayRef< uint8_t > Data, uint32_t Offset, SmallVectorImpl< TiReference > &Refs)
static uint32_t handleStaticDataMember (ArrayRef< uint8_t > Data, uint32_t Offset, SmallVectorImpl< TiReference > &Refs)
static uint32_t handleVirtualBaseClass (ArrayRef< uint8_t > Data, uint32_t Offset, bool IsIndirect, SmallVectorImpl< TiReference > &Refs)
static uint32_t handleVFPtr (ArrayRef< uint8_t > Data, uint32_t Offset, SmallVectorImpl< TiReference > &Refs)
static uint32_t handleListContinuation (ArrayRef< uint8_t > Data, uint32_t Offset, SmallVectorImpl< TiReference > &Refs)
static void handleFieldList (ArrayRef< uint8_t > Content, SmallVectorImpl< TiReference > &Refs)
static void handlePointer (ArrayRef< uint8_t > Content, SmallVectorImpl< TiReference > &Refs)
static void discoverTypeIndices (ArrayRef< uint8_t > Content, TypeLeafKind Kind, SmallVectorImpl< TiReference > &Refs)
static bool discoverTypeIndices (ArrayRef< uint8_t > Content, SymbolKind Kind, SmallVectorImpl< TiReference > &Refs)
static void resolveTypeIndexReferences (ArrayRef< uint8_t > RecordData, ArrayRef< TiReference > Refs, SmallVectorImpl< TypeIndex > &Indices)

Function Documentation

◆ discoverTypeIndices() [1/2]

◆ discoverTypeIndices() [2/2]

◆ getCStringLength()

uint32_t getCStringLength ( ArrayRef< uint8_t > Data)
inlinestatic

◆ getEncodedIntegerLength()

uint32_t getEncodedIntegerLength ( ArrayRef< uint8_t > Data)
inlinestatic

◆ getMethodKind()

MethodKind getMethodKind ( uint16_t Attrs)
inlinestatic

Definition at line 17 of file TypeIndexDiscovery.cpp.

References llvm::codeview::MethodKindMask.

Referenced by isIntroVirtual().

◆ getPointerMode()

PointerMode getPointerMode ( uint32_t Attrs)
inlinestatic

◆ handleBaseClass()

◆ handleDataMember()

◆ handleEnumerator()

uint32_t handleEnumerator ( ArrayRef< uint8_t > Data,
uint32_t Offset,
SmallVectorImpl< TiReference > & Refs )
static

◆ handleFieldList()

◆ handleListContinuation()

uint32_t handleListContinuation ( ArrayRef< uint8_t > Data,
uint32_t Offset,
SmallVectorImpl< TiReference > & Refs )
static

◆ handleMethodOverloadList()

◆ handleNestedType()

◆ handleOneMethod()

◆ handleOverloadedMethod()

◆ handlePointer()

◆ handleStaticDataMember()

◆ handleVFPtr()

◆ handleVirtualBaseClass()

uint32_t handleVirtualBaseClass ( ArrayRef< uint8_t > Data,
uint32_t Offset,
bool IsIndirect,
SmallVectorImpl< TiReference > & Refs )
static

◆ isIntroVirtual()

bool isIntroVirtual ( uint16_t Attrs)
inlinestatic

◆ isMemberPointer()

bool isMemberPointer ( uint32_t Attrs)
inlinestatic

◆ resolveTypeIndexReferences()