LLVM 22.0.0git
llvm::pdb::NativeTypeEnum Class Reference

#include "llvm/DebugInfo/PDB/Native/NativeTypeEnum.h"

Inheritance diagram for llvm::pdb::NativeTypeEnum:
[legend]

Public Member Functions

 NativeTypeEnum (NativeSession &Session, SymIndexId Id, codeview::TypeIndex TI, codeview::EnumRecord Record)
 NativeTypeEnum (NativeSession &Session, SymIndexId Id, NativeTypeEnum &UnmodifiedType, codeview::ModifierRecord Modifier)
 ~NativeTypeEnum () override
void dump (raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
std::unique_ptr< IPDBEnumSymbolsfindChildren (PDB_SymType Type) const override
PDB_BuiltinType getBuiltinType () const override
PDB_SymType getSymTag () const override
SymIndexId getUnmodifiedTypeId () const override
bool hasConstructor () const override
bool hasAssignmentOperator () const override
bool hasCastOperator () const override
uint64_t getLength () const override
std::string getName () const override
bool isConstType () const override
bool isVolatileType () const override
bool isUnalignedType () const override
bool isNested () const override
bool hasOverloadedOperator () const override
bool hasNestedTypes () const override
bool isIntrinsic () const override
bool isPacked () const override
bool isScoped () const override
SymIndexId getTypeId () const override
bool isRefUdt () const override
bool isValueUdt () const override
bool isInterfaceUdt () const override
const NativeTypeBuiltingetUnderlyingBuiltinType () const
const codeview::EnumRecordgetEnumRecord () const
Public Member Functions inherited from llvm::pdb::NativeRawSymbol
 NativeRawSymbol (NativeSession &PDBSession, PDB_SymType Tag, SymIndexId SymbolId)
std::unique_ptr< IPDBEnumSymbolsfindChildren (PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags) const override
std::unique_ptr< IPDBEnumSymbolsfindChildrenByAddr (PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags, uint32_t Section, uint32_t Offset) const override
std::unique_ptr< IPDBEnumSymbolsfindChildrenByVA (PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags, uint64_t VA) const override
std::unique_ptr< IPDBEnumSymbolsfindChildrenByRVA (PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags, uint32_t RVA) const override
std::unique_ptr< IPDBEnumSymbolsfindInlineFramesByAddr (uint32_t Section, uint32_t Offset) const override
std::unique_ptr< IPDBEnumSymbolsfindInlineFramesByRVA (uint32_t RVA) const override
std::unique_ptr< IPDBEnumSymbolsfindInlineFramesByVA (uint64_t VA) const override
std::unique_ptr< IPDBEnumLineNumbersfindInlineeLines () const override
std::unique_ptr< IPDBEnumLineNumbersfindInlineeLinesByAddr (uint32_t Section, uint32_t Offset, uint32_t Length) const override
std::unique_ptr< IPDBEnumLineNumbersfindInlineeLinesByRVA (uint32_t RVA, uint32_t Length) const override
std::unique_ptr< IPDBEnumLineNumbersfindInlineeLinesByVA (uint64_t VA, uint32_t Length) const override
void getDataBytes (SmallVector< uint8_t, 32 > &Bytes) const override
void getFrontEndVersion (VersionInfo &Version) const override
void getBackEndVersion (VersionInfo &Version) const override
PDB_MemberAccess getAccess () const override
uint32_t getAddressOffset () const override
uint32_t getAddressSection () const override
uint32_t getAge () const override
SymIndexId getArrayIndexTypeId () const override
uint32_t getBaseDataOffset () const override
uint32_t getBaseDataSlot () const override
SymIndexId getBaseSymbolId () const override
uint32_t getBitPosition () const override
PDB_CallingConv getCallingConvention () const override
SymIndexId getClassParentId () const override
std::string getCompilerName () const override
uint32_t getCount () const override
uint32_t getCountLiveRanges () const override
PDB_Lang getLanguage () const override
SymIndexId getLexicalParentId () const override
std::string getLibraryName () const override
uint32_t getLiveRangeStartAddressOffset () const override
uint32_t getLiveRangeStartAddressSection () const override
uint32_t getLiveRangeStartRelativeVirtualAddress () const override
codeview::RegisterId getLocalBasePointerRegisterId () const override
SymIndexId getLowerBoundId () const override
uint32_t getMemorySpaceKind () const override
uint32_t getNumberOfAcceleratorPointerTags () const override
uint32_t getNumberOfColumns () const override
uint32_t getNumberOfModifiers () const override
uint32_t getNumberOfRegisterIndices () const override
uint32_t getNumberOfRows () const override
std::string getObjectFileName () const override
uint32_t getOemId () const override
SymIndexId getOemSymbolId () const override
uint32_t getOffsetInUdt () const override
PDB_Cpu getPlatform () const override
uint32_t getRank () const override
codeview::RegisterId getRegisterId () const override
uint32_t getRegisterType () const override
uint32_t getRelativeVirtualAddress () const override
uint32_t getSamplerSlot () const override
uint32_t getSignature () const override
uint32_t getSizeInUdt () const override
uint32_t getSlot () const override
std::string getSourceFileName () const override
std::unique_ptr< IPDBLineNumbergetSrcLineOnTypeDefn () const override
uint32_t getStride () const override
SymIndexId getSubTypeId () const override
std::string getSymbolsFileName () const override
SymIndexId getSymIndexId () const override
uint32_t getTargetOffset () const override
uint32_t getTargetRelativeVirtualAddress () const override
uint64_t getTargetVirtualAddress () const override
uint32_t getTargetSection () const override
uint32_t getTextureSlot () const override
uint32_t getTimeStamp () const override
uint32_t getToken () const override
uint32_t getUavSlot () const override
std::string getUndecoratedName () const override
std::string getUndecoratedNameEx (PDB_UndnameFlags Flags) const override
SymIndexId getUpperBoundId () const override
Variant getValue () const override
uint32_t getVirtualBaseDispIndex () const override
uint32_t getVirtualBaseOffset () const override
SymIndexId getVirtualTableShapeId () const override
std::unique_ptr< PDBSymbolTypeBuiltingetVirtualBaseTableType () const override
PDB_DataKind getDataKind () const override
codeview::GUID getGuid () const override
int32_t getOffset () const override
int32_t getThisAdjust () const override
int32_t getVirtualBasePointerOffset () const override
PDB_LocType getLocationType () const override
PDB_Machine getMachineType () const override
codeview::ThunkOrdinal getThunkOrdinal () const override
uint64_t getLiveRangeLength () const override
uint64_t getVirtualAddress () const override
PDB_UdtType getUdtKind () const override
bool hasCustomCallingConvention () const override
bool hasFarReturn () const override
bool isCode () const override
bool isCompilerGenerated () const override
bool isEditAndContinueEnabled () const override
bool isFunction () const override
bool getAddressTaken () const override
bool getNoStackOrdering () const override
bool hasAlloca () const override
bool hasCTypes () const override
bool hasDebugInfo () const override
bool hasEH () const override
bool hasEHa () const override
bool hasInlAsm () const override
bool hasInlineAttribute () const override
bool hasInterruptReturn () const override
bool hasFramePointer () const override
bool hasLongJump () const override
bool hasManagedCode () const override
bool hasNoInlineAttribute () const override
bool hasNoReturnAttribute () const override
bool hasOptimizedCodeDebugInfo () const override
bool hasSEH () const override
bool hasSecurityChecks () const override
bool hasSetJump () const override
bool hasStrictGSCheck () const override
bool isAcceleratorGroupSharedLocal () const override
bool isAcceleratorPointerTagLiveRange () const override
bool isAcceleratorStubFunction () const override
bool isAggregated () const override
bool isIntroVirtualFunction () const override
bool isCVTCIL () const override
bool isConstructorVirtualBase () const override
bool isCxxReturnUdt () const override
bool isDataAligned () const override
bool isHLSLData () const override
bool isHotpatchable () const override
bool isIndirectVirtualBaseClass () const override
bool isLTCG () const override
bool isLocationControlFlowDependent () const override
bool isMSILNetmodule () const override
bool isMatrixRowMajor () const override
bool isManagedCode () const override
bool isMSILCode () const override
bool isMultipleInheritance () const override
bool isNaked () const override
bool isOptimizedAway () const override
bool isPointerBasedOnSymbolValue () const override
bool isPointerToDataMember () const override
bool isPointerToMemberFunction () const override
bool isPureVirtual () const override
bool isRValueReference () const override
bool isReference () const override
bool isRestrictedType () const override
bool isReturnValue () const override
bool isSafeBuffers () const override
bool isSdl () const override
bool isSingleInheritance () const override
bool isSplitted () const override
bool isStatic () const override
bool hasPrivateSymbols () const override
bool isUnreached () const override
bool isVirtual () const override
bool isVirtualBaseClass () const override
bool isVirtualInheritance () const override
bool wasInlined () const override
std::string getUnused () const override
Public Member Functions inherited from llvm::pdb::IPDBRawSymbol
virtual ~IPDBRawSymbol ()

Protected Attributes

codeview::TypeIndex Index
std::optional< codeview::EnumRecordRecord
NativeTypeEnumUnmodifiedType = nullptr
std::optional< codeview::ModifierRecordModifiers
Protected Attributes inherited from llvm::pdb::NativeRawSymbol
NativeSessionSession
PDB_SymType Tag
SymIndexId SymbolId

Detailed Description

Definition at line 24 of file NativeTypeEnum.h.

Constructor & Destructor Documentation

◆ NativeTypeEnum() [1/2]

◆ NativeTypeEnum() [2/2]

◆ ~NativeTypeEnum()

NativeTypeEnum::~NativeTypeEnum ( )
overridedefault

References llvm::pdb::Type.

Member Function Documentation

◆ dump()

◆ findChildren()

std::unique_ptr< IPDBEnumSymbols > NativeTypeEnum::findChildren ( PDB_SymType Type) const
overridevirtual

◆ getBuiltinType()

PDB_BuiltinType NativeTypeEnum::getBuiltinType ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 181 of file NativeTypeEnum.cpp.

References llvm::pdb::Bool, llvm::codeview::Boolean128, llvm::codeview::Boolean16, llvm::codeview::Boolean32, llvm::codeview::Boolean64, llvm::codeview::Boolean8, llvm::pdb::Char, llvm::pdb::Char16, llvm::pdb::Char32, llvm::pdb::Char8, llvm::codeview::Character16, llvm::codeview::Character32, llvm::codeview::Character8, llvm::pdb::Complex, llvm::codeview::Complex128, llvm::codeview::Complex16, llvm::codeview::Complex32, llvm::codeview::Complex32PartialPrecision, llvm::codeview::Complex64, llvm::codeview::Complex80, llvm::codeview::Direct, llvm::pdb::Float, llvm::codeview::Float128, llvm::codeview::Float16, llvm::codeview::Float32, llvm::codeview::Float32PartialPrecision, llvm::codeview::Float48, llvm::codeview::Float64, llvm::codeview::Float80, llvm::codeview::HResult, llvm::pdb::HResult, llvm::pdb::Int, llvm::codeview::Int128, llvm::codeview::Int128Oct, llvm::codeview::Int16, llvm::codeview::Int16Short, llvm::codeview::Int32, llvm::codeview::Int32Long, llvm::codeview::Int64, llvm::codeview::Int64Quad, llvm_unreachable, llvm::codeview::NarrowCharacter, llvm::pdb::None, Record, llvm::pdb::NativeRawSymbol::Session, llvm::codeview::SignedCharacter, llvm::pdb::UInt, llvm::codeview::UInt128, llvm::codeview::UInt128Oct, llvm::codeview::UInt16, llvm::codeview::UInt16Short, llvm::codeview::UInt32, llvm::codeview::UInt32Long, llvm::codeview::UInt64, llvm::codeview::UInt64Quad, UnmodifiedType, llvm::codeview::UnsignedCharacter, llvm::pdb::WCharT, and llvm::codeview::WideCharacter.

Referenced by dump().

◆ getEnumRecord()

const codeview::EnumRecord & llvm::pdb::NativeTypeEnum::getEnumRecord ( ) const
inline

Definition at line 63 of file NativeTypeEnum.h.

References Record.

◆ getLength()

uint64_t NativeTypeEnum::getLength ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 298 of file NativeTypeEnum.cpp.

References Record, llvm::pdb::NativeRawSymbol::Session, and UnmodifiedType.

Referenced by dump().

◆ getName()

std::string NativeTypeEnum::getName ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 309 of file NativeTypeEnum.cpp.

References Record, and UnmodifiedType.

Referenced by dump().

◆ getSymTag()

PDB_SymType NativeTypeEnum::getSymTag ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 179 of file NativeTypeEnum.cpp.

References llvm::pdb::Enum.

◆ getTypeId()

SymIndexId NativeTypeEnum::getTypeId ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 345 of file NativeTypeEnum.cpp.

References Record, llvm::pdb::NativeRawSymbol::Session, and UnmodifiedType.

Referenced by dump(), and getUnderlyingBuiltinType().

◆ getUnderlyingBuiltinType()

const NativeTypeBuiltin & NativeTypeEnum::getUnderlyingBuiltinType ( ) const

◆ getUnmodifiedTypeId()

SymIndexId NativeTypeEnum::getUnmodifiedTypeId ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 255 of file NativeTypeEnum.cpp.

References UnmodifiedType.

Referenced by dump().

◆ hasAssignmentOperator()

bool NativeTypeEnum::hasAssignmentOperator ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 267 of file NativeTypeEnum.cpp.

References llvm::codeview::HasOverloadedAssignmentOperator, Record, and UnmodifiedType.

Referenced by dump().

◆ hasCastOperator()

bool NativeTypeEnum::hasCastOperator ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 290 of file NativeTypeEnum.cpp.

References llvm::codeview::HasConversionOperator, Record, and UnmodifiedType.

Referenced by dump().

◆ hasConstructor()

bool NativeTypeEnum::hasConstructor ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 259 of file NativeTypeEnum.cpp.

References llvm::codeview::HasConstructorOrDestructor, Record, and UnmodifiedType.

Referenced by dump().

◆ hasNestedTypes()

bool NativeTypeEnum::hasNestedTypes ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 275 of file NativeTypeEnum.cpp.

References llvm::codeview::ContainsNestedClass, Record, and UnmodifiedType.

Referenced by dump().

◆ hasOverloadedOperator()

bool NativeTypeEnum::hasOverloadedOperator ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 323 of file NativeTypeEnum.cpp.

References llvm::codeview::HasOverloadedOperator, Record, and UnmodifiedType.

Referenced by dump().

◆ isConstType()

bool NativeTypeEnum::isConstType ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 359 of file NativeTypeEnum.cpp.

References llvm::codeview::Const, Modifiers, and llvm::codeview::None.

Referenced by dump().

◆ isInterfaceUdt()

bool NativeTypeEnum::isInterfaceUdt ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 357 of file NativeTypeEnum.cpp.

Referenced by dump().

◆ isIntrinsic()

bool NativeTypeEnum::isIntrinsic ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 283 of file NativeTypeEnum.cpp.

References llvm::codeview::Intrinsic, Record, and UnmodifiedType.

Referenced by dump().

◆ isNested()

bool NativeTypeEnum::isNested ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 316 of file NativeTypeEnum.cpp.

References llvm::codeview::Nested, Record, and UnmodifiedType.

Referenced by dump().

◆ isPacked()

bool NativeTypeEnum::isPacked ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 331 of file NativeTypeEnum.cpp.

References llvm::codeview::Packed, Record, and UnmodifiedType.

Referenced by dump().

◆ isRefUdt()

bool NativeTypeEnum::isRefUdt ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 353 of file NativeTypeEnum.cpp.

Referenced by dump().

◆ isScoped()

bool NativeTypeEnum::isScoped ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 338 of file NativeTypeEnum.cpp.

References Record, llvm::codeview::Scoped, and UnmodifiedType.

Referenced by dump().

◆ isUnalignedType()

bool NativeTypeEnum::isUnalignedType ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 373 of file NativeTypeEnum.cpp.

References Modifiers, llvm::codeview::None, and llvm::codeview::Unaligned.

Referenced by dump().

◆ isValueUdt()

bool NativeTypeEnum::isValueUdt ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 355 of file NativeTypeEnum.cpp.

Referenced by dump().

◆ isVolatileType()

bool NativeTypeEnum::isVolatileType ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 366 of file NativeTypeEnum.cpp.

References Modifiers, llvm::codeview::None, and llvm::codeview::Volatile.

Referenced by dump().

Member Data Documentation

◆ Index

codeview::TypeIndex llvm::pdb::NativeTypeEnum::Index
protected

Definition at line 66 of file NativeTypeEnum.h.

Referenced by NativeTypeEnum().

◆ Modifiers

std::optional<codeview::ModifierRecord> llvm::pdb::NativeTypeEnum::Modifiers
protected

◆ Record

◆ UnmodifiedType


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