Native PDB implementation of a virtual table shape type symbol.

Synopsis

Declared in <llvm/DebugInfo/PDB/Native/NativeTypeVTShape.h>

class NativeTypeVTShape
    : public NativeRawSymbol

Description

Wraps a CodeView VFTableShapeRecord and its type index, exposing the slot count and type‐qualifier accessors expected by the PDB symbol API.

Base Classes

Name

Description

NativeRawSymbol

Native PDB implementation of IPDBRawSymbol.

Member Functions

Name

Description

NativeTypeVTShape [constructor]

Construct a native vtable shape symbol for the given CodeView record.

~NativeTypeVTShape [destructor] [virtual]

Destroy the native vtable shape symbol.

dump [virtual]

Dump this vtable shape's properties to OS.

findChildren

findChildren overloads

findChildrenByAddr [virtual]

Find child symbols by section and offset address.

findChildrenByRVA [virtual]

Find child symbols by relative virtual address.

findChildrenByVA [virtual]

Find child symbols by virtual address.

findInlineFramesByAddr [virtual]

Find inline frames at the given section and offset address.

findInlineFramesByRVA [virtual]

Find inline frames at the given relative virtual address.

findInlineFramesByVA [virtual]

Find inline frames at the given virtual address.

findInlineeLines [virtual]

Find line numbers for all inlinees of this symbol.

findInlineeLinesByAddr [virtual]

Find inlinee line numbers covering the given section and offset range.

findInlineeLinesByRVA [virtual]

Find inlinee line numbers covering the given RVA range.

findInlineeLinesByVA [virtual]

Find inlinee line numbers covering the given VA range.

getAccess [virtual]

Return the access level of this member symbol.

getAddressOffset [virtual]

Return the section‐relative address offset of this symbol.

getAddressSection [virtual]

Return the section index of this symbol's address.

getAddressTaken [virtual]

Return true if the address of this symbol has been taken.

getAge [virtual]

Return the PDB age associated with this symbol.

getArrayIndexTypeId [virtual]

Return the symbol id of this array's index type.

getBackEndVersion [virtual]

Fill Version with the backend compiler version for this symbol.

getBaseDataOffset [virtual]

Return the base data offset for this symbol.

getBaseDataSlot [virtual]

Return the base data slot for this symbol.

getBaseSymbolId [virtual]

Return the symbol id of this symbol's base symbol.

getBitPosition [virtual]

Return the bit position of this bitfield member.

getBuiltinType [virtual]

Return the builtin type kind for this type symbol.

getCallingConvention [virtual]

Return the calling convention of this function type.

getClassParentId [virtual]

Return the symbol id of this symbol's class parent.

getCompilerName [virtual]

Return the name of the compiler that produced this symbol.

getCount [virtual]

Return the number of slots in this vtable shape.

getCountLiveRanges [virtual]

Return the number of live ranges associated with this symbol.

getDataBytes

getDataBytes overloads

getDataKind [virtual]

Return the data kind of this data symbol.

getFrontEndVersion [virtual]

Fill Version with the frontend compiler version for this symbol.

getGuid [virtual]

Return the GUID associated with this symbol.

getLanguage [virtual]

Return the source language of this symbol.

getLength [virtual]

Return the length in bytes of this symbol.

getLexicalParentId [virtual]

Return the symbol id of this symbol's lexical parent.

getLibraryName [virtual]

Return the library or object name associated with this symbol.

getLiveRangeLength [virtual]

Return the length in bytes of this symbol's live range.

getLiveRangeStartAddressOffset [virtual]

Return the section‐relative offset of this symbol's live‐range start.

getLiveRangeStartAddressSection [virtual]

Return the section index of this symbol's live‐range start address.

getLiveRangeStartRelativeVirtualAddress [virtual]

Return the RVA of this symbol's live‐range start.

getLocalBasePointerRegisterId [virtual]

Return the register id used as the local base pointer.

getLocationType [virtual]

Return the location type of this symbol.

getLowerBoundId [virtual]

Return the symbol id of this dimension's lower bound.

getMachineType [virtual]

Return the machine type associated with this symbol.

getMemorySpaceKind [virtual]

Return the memory‐space kind for this HLSL symbol.

getName [virtual]

Return the name of this symbol.

getNoStackOrdering [virtual]

Return true if this symbol has no stack ordering.

getNumberOfAcceleratorPointerTags [virtual]

Return the number of accelerator pointer tags on this symbol.

getNumberOfColumns [virtual]

Return the number of columns in this matrix type.

getNumberOfModifiers [virtual]

Return the number of type modifiers on this type.

getNumberOfRegisterIndices [virtual]

Return the number of register indices on this symbol.

getNumberOfRows [virtual]

Return the number of rows in this matrix type.

getObjectFileName [virtual]

Return the object file name associated with this symbol.

getOemId [virtual]

Return the OEM id associated with this symbol.

getOemSymbolId [virtual]

Return the OEM symbol id associated with this symbol.

getOffset [virtual]

Return the offset associated with this symbol.

getOffsetInUdt [virtual]

Return the offset of this member within its UDT.

getPlatform [virtual]

Return the target CPU platform for this symbol.

getRank [virtual]

Return the rank of this multi‐dimensional array type.

getRegisterId [virtual]

Return the register id where this symbol is located.

getRegisterType [virtual]

Return the register type associated with this symbol.

getRelativeVirtualAddress [virtual]

Return the relative virtual address of this symbol.

getSamplerSlot [virtual]

Return the sampler slot for this HLSL resource.

getSignature [virtual]

Return the signature value associated with this symbol.

getSizeInUdt [virtual]

Return the size in bytes of this member within its UDT.

getSlot [virtual]

Return the slot index associated with this symbol.

getSourceFileName [virtual]

Return the source file name associated with this symbol.

getSrcLineOnTypeDefn [virtual]

Return the source line where this type is defined.

getStride [virtual]

Return the stride between elements of this array or matrix.

getSubTypeId [virtual]

Return the symbol id of this symbol's subtype.

getSymIndexId [virtual]

Return this symbol's unique SymIndexId within the session.

getSymTag [virtual]

Return the symbol tag (kind) of this symbol.

getSymbolsFileName [virtual]

Return the path of the PDB or symbols file for this symbol.

getTargetOffset [virtual]

Return the target offset for this thunk or branch symbol.

getTargetRelativeVirtualAddress [virtual]

Return the target relative virtual address for this thunk or branch.

getTargetSection [virtual]

Return the target section for this thunk or branch symbol.

getTargetVirtualAddress [virtual]

Return the target virtual address for this thunk or branch.

getTextureSlot [virtual]

Return the texture slot for this HLSL resource.

getThisAdjust [virtual]

Return the this‐adjust value for this member function.

getThunkOrdinal [virtual]

Return the thunk ordinal for this thunk symbol.

getTimeStamp [virtual]

Return the timestamp associated with this symbol.

getToken [virtual]

Return the metadata token associated with this managed symbol.

getTypeId [virtual]

Return the symbol id of this symbol's type.

getUavSlot [virtual]

Return the UAV slot for this HLSL resource.

getUdtKind [virtual]

Return the UDT kind (class, struct, union, or interface).

getUndecoratedName [virtual]

Return the undecorated (demangled) name of this symbol.

getUndecoratedNameEx [virtual]

Return the undecorated name using the given undecoration flags.

getUnmodifiedTypeId [virtual]

Return the symbol id of this modified type's unmodified type.

getUnused [virtual]

Return the unused string property for this symbol.

getUpperBoundId [virtual]

Return the symbol id of this dimension's upper bound.

getValue [virtual]

Return the constant value associated with this symbol.

getVirtualAddress [virtual]

Return the virtual address of this symbol.

getVirtualBaseDispIndex [virtual]

Return the virtual base displacement index for this base class.

getVirtualBaseOffset [virtual]

Return the virtual base offset for this base class.

getVirtualBasePointerOffset [virtual]

Return the virtual base pointer offset for this base class.

getVirtualBaseTableType [virtual]

Return the builtin type describing this virtual base table.

getVirtualTableShapeId [virtual]

Return the symbol id of this UDT's virtual table shape.

hasAlloca [virtual]

Return true if this function uses alloca.

hasAssignmentOperator [virtual]

Return true if this UDT has an assignment operator.

hasCTypes [virtual]

Return true if this symbol has C types.

hasCastOperator [virtual]

Return true if this UDT has a cast operator.

hasConstructor [virtual]

Return true if this UDT has a constructor.

hasCustomCallingConvention [virtual]

Return true if this function uses a custom calling convention.

hasDebugInfo [virtual]

Return true if this symbol has debug information.

hasEH [virtual]

Return true if this function uses C++ exception handling.

hasEHa [virtual]

Return true if this function uses asynchronous exception handling.

hasFarReturn [virtual]

Return true if this function uses a far return.

hasFramePointer [virtual]

Return true if this function has a frame pointer.

hasInlAsm [virtual]

Return true if this function contains inline assembly.

hasInlineAttribute [virtual]

Return true if this function has the inline attribute.

hasInterruptReturn [virtual]

Return true if this function uses an interrupt return.

hasLongJump [virtual]

Return true if this function uses longjmp.

hasManagedCode [virtual]

Return true if this symbol contains managed code.

hasNestedTypes [virtual]

Return true if this UDT has nested types.

hasNoInlineAttribute [virtual]

Return true if this function has the noinline attribute.

hasNoReturnAttribute [virtual]

Return true if this function has the noreturn attribute.

hasOptimizedCodeDebugInfo [virtual]

Return true if this symbol has optimized‐code debug info.

hasOverloadedOperator [virtual]

Return true if this UDT has an overloaded operator.

hasPrivateSymbols [virtual]

Return true if this module has private symbols.

hasSEH [virtual]

Return true if this function uses structured exception handling.

hasSecurityChecks [virtual]

Return true if this function has security checks.

hasSetJump [virtual]

Return true if this function uses setjmp.

hasStrictGSCheck [virtual]

Return true if this function has strict GS checks.

isAcceleratorGroupSharedLocal [virtual]

Return true if this is an accelerator group shared local.

isAcceleratorPointerTagLiveRange [virtual]

Return true if this is an accelerator pointer‐tag live range.

isAcceleratorStubFunction [virtual]

Return true if this is an accelerator stub function.

isAggregated [virtual]

Return true if this symbol is aggregated.

isCVTCIL [virtual]

Return true if this symbol was converted from CIL.

isCode [virtual]

Return true if this symbol represents code.

isCompilerGenerated [virtual]

Return true if this symbol was generated by the compiler.

isConstType [virtual]

Return whether this vtable shape is const‐qualified.

isConstructorVirtualBase [virtual]

Return true if this constructor initializes a virtual base.

isCxxReturnUdt [virtual]

Return true if this function returns a C++ UDT.

isDataAligned [virtual]

Return true if this data is aligned.

isEditAndContinueEnabled [virtual]

Return true if Edit and Continue is enabled for this symbol.

isFunction [virtual]

Return true if this symbol is a function.

isHLSLData [virtual]

Return true if this is HLSL data.

isHotpatchable [virtual]

Return true if this code is hotpatchable.

isIndirectVirtualBaseClass [virtual]

Return true if this is an indirect virtual base class.

isInterfaceUdt [virtual]

Return true if this UDT is an interface.

isIntrinsic [virtual]

Return true if this is an intrinsic symbol.

isIntroVirtualFunction [virtual]

Return true if this is an introducing virtual function.

isLTCG [virtual]

Return true if this symbol was compiled with link‐time code generation.

isLocationControlFlowDependent [virtual]

Return true if this symbol's location depends on control flow.

isMSILCode [virtual]

Return true if this symbol is MSIL code.

isMSILNetmodule [virtual]

Return true if this is an MSIL netmodule.

isManagedCode [virtual]

Return true if this symbol is managed code.

isMatrixRowMajor [virtual]

Return true if this matrix type is stored in row‐major order.

isMultipleInheritance [virtual]

Return true if this member pointer uses multiple inheritance.

isNaked [virtual]

Return true if this function is declared naked.

isNested [virtual]

Return true if this symbol is nested within another type.

isOptimizedAway [virtual]

Return true if this local was optimized away.

isPacked [virtual]

Return true if this UDT is packed.

isPointerBasedOnSymbolValue [virtual]

Return true if this pointer is based on a symbol value.

isPointerToDataMember [virtual]

Return true if this is a pointer to a data member.

isPointerToMemberFunction [virtual]

Return true if this is a pointer to a member function.

isPureVirtual [virtual]

Return true if this function is pure virtual.

isRValueReference [virtual]

Return true if this is an rvalue reference type.

isRefUdt [virtual]

Return true if this UDT is a ref UDT.

isReference [virtual]

Return true if this is a reference type.

isRestrictedType [virtual]

Return true if this is a restricted type.

isReturnValue [virtual]

Return true if this symbol is a return value.

isSafeBuffers [virtual]

Return true if this symbol uses safe buffers.

isScoped [virtual]

Return true if this symbol is scoped.

isSdl [virtual]

Return true if this symbol was compiled with SDL checks.

isSingleInheritance [virtual]

Return true if this member pointer uses single inheritance.

isSplitted [virtual]

Return true if this symbol is split (PGO cold/hot).

isStatic [virtual]

Return true if this symbol is static.

isUnalignedType [virtual]

Return whether this vtable shape is unaligned.

isUnreached [virtual]

Return true if this code is unreachable.

isValueUdt [virtual]

Return true if this UDT is a value UDT.

isVirtual [virtual]

Return true if this function or base is virtual.

isVirtualBaseClass [virtual]

Return true if this is a virtual base class.

isVirtualInheritance [virtual]

Return true if this member pointer uses virtual inheritance.

isVolatileType [virtual]

Return whether this vtable shape is volatile‐qualified.

wasInlined [virtual]

Return true if this function was inlined.

Protected Data Members

Name

Description

Record

CodeView VFTableShapeRecord describing the vtable slot descriptors.

Session

The native PDB session that owns this symbol.

SymbolId

Unique symbol index id of this symbol within the session.

TI

CodeView type index of this vtable shape.

Tag

The PDB symbol tag (kind) of this symbol.

Created with MrDocs