LLVM  8.0.1
Public Member Functions | Protected Attributes | List of all members
llvm::pdb::NativeTypeEnum Class Reference

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

Inheritance diagram for llvm::pdb::NativeTypeEnum:
Inheritance graph
[legend]
Collaboration diagram for llvm::pdb::NativeTypeEnum:
Collaboration graph
[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
 
Optional< codeview::EnumRecordRecord
 
NativeTypeEnumUnmodifiedType = nullptr
 
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::NativeTypeEnum ( NativeSession Session,
SymIndexId  Id,
codeview::TypeIndex  TI,
codeview::EnumRecord  Record 
)

Definition at line 116 of file NativeTypeEnum.cpp.

◆ NativeTypeEnum() [2/2]

NativeTypeEnum::NativeTypeEnum ( NativeSession Session,
SymIndexId  Id,
NativeTypeEnum UnmodifiedType,
codeview::ModifierRecord  Modifier 
)

Definition at line 121 of file NativeTypeEnum.cpp.

◆ ~NativeTypeEnum()

NativeTypeEnum::~NativeTypeEnum ( )
override

Definition at line 127 of file NativeTypeEnum.cpp.

Member Function Documentation

◆ dump()

void NativeTypeEnum::dump ( raw_ostream OS,
int  Indent,
PdbSymbolIdField  ShowIdFields,
PdbSymbolIdField  RecurseIdFields 
) const
overridevirtual

◆ findChildren()

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

◆ getBuiltinType()

PDB_BuiltinType NativeTypeEnum::getBuiltinType ( ) const
overridevirtual

◆ 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

◆ getName()

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

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 305 of file NativeTypeEnum.cpp.

References getName(), llvm::codeview::EnumeratorRecord::getName(), and UnmodifiedType.

Referenced by dump(), and getName().

◆ getSymTag()

PDB_SymType NativeTypeEnum::getSymTag ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 177 of file NativeTypeEnum.cpp.

References llvm::pdb::Enum.

◆ getTypeId()

SymIndexId NativeTypeEnum::getTypeId ( ) const
overridevirtual

◆ getUnderlyingBuiltinType()

const NativeTypeBuiltin & NativeTypeEnum::getUnderlyingBuiltinType ( ) const

◆ getUnmodifiedTypeId()

SymIndexId NativeTypeEnum::getUnmodifiedTypeId ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 251 of file NativeTypeEnum.cpp.

References llvm::pdb::NativeRawSymbol::getSymIndexId(), and UnmodifiedType.

Referenced by dump().

◆ hasAssignmentOperator()

bool NativeTypeEnum::hasAssignmentOperator ( ) const
overridevirtual

◆ hasCastOperator()

bool NativeTypeEnum::hasCastOperator ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 286 of file NativeTypeEnum.cpp.

References hasCastOperator(), llvm::codeview::HasConversionOperator, and UnmodifiedType.

Referenced by dump(), and hasCastOperator().

◆ hasConstructor()

bool NativeTypeEnum::hasConstructor ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 255 of file NativeTypeEnum.cpp.

References hasConstructor(), llvm::codeview::HasConstructorOrDestructor, and UnmodifiedType.

Referenced by dump(), and hasConstructor().

◆ hasNestedTypes()

bool NativeTypeEnum::hasNestedTypes ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 271 of file NativeTypeEnum.cpp.

References llvm::codeview::ContainsNestedClass, hasNestedTypes(), and UnmodifiedType.

Referenced by dump(), and hasNestedTypes().

◆ hasOverloadedOperator()

bool NativeTypeEnum::hasOverloadedOperator ( ) const
overridevirtual

◆ isConstType()

bool NativeTypeEnum::isConstType ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 355 of file NativeTypeEnum.cpp.

References Modifiers, and llvm::pdb::None.

Referenced by dump().

◆ isInterfaceUdt()

bool NativeTypeEnum::isInterfaceUdt ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 353 of file NativeTypeEnum.cpp.

Referenced by dump().

◆ isIntrinsic()

bool NativeTypeEnum::isIntrinsic ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 279 of file NativeTypeEnum.cpp.

References llvm::codeview::Intrinsic, isIntrinsic(), and UnmodifiedType.

Referenced by dump(), and isIntrinsic().

◆ isNested()

bool NativeTypeEnum::isNested ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 312 of file NativeTypeEnum.cpp.

References isNested(), llvm::codeview::Nested, and UnmodifiedType.

Referenced by dump(), and isNested().

◆ isPacked()

bool NativeTypeEnum::isPacked ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 327 of file NativeTypeEnum.cpp.

References isPacked(), llvm::codeview::Packed, and UnmodifiedType.

Referenced by dump(), and isPacked().

◆ isRefUdt()

bool NativeTypeEnum::isRefUdt ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 349 of file NativeTypeEnum.cpp.

Referenced by dump().

◆ isScoped()

bool NativeTypeEnum::isScoped ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 334 of file NativeTypeEnum.cpp.

References isScoped(), llvm::codeview::Scoped, and UnmodifiedType.

Referenced by dump(), and isScoped().

◆ isUnalignedType()

bool NativeTypeEnum::isUnalignedType ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 369 of file NativeTypeEnum.cpp.

References Modifiers, and llvm::pdb::None.

Referenced by dump().

◆ isValueUdt()

bool NativeTypeEnum::isValueUdt ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 351 of file NativeTypeEnum.cpp.

Referenced by dump().

◆ isVolatileType()

bool NativeTypeEnum::isVolatileType ( ) const
overridevirtual

Reimplemented from llvm::pdb::NativeRawSymbol.

Definition at line 362 of file NativeTypeEnum.cpp.

References Modifiers, and llvm::pdb::None.

Referenced by dump().

Member Data Documentation

◆ Index

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

Definition at line 66 of file NativeTypeEnum.h.

◆ Modifiers

Optional<codeview::ModifierRecord> llvm::pdb::NativeTypeEnum::Modifiers
protected

Definition at line 69 of file NativeTypeEnum.h.

Referenced by dump(), findChildren(), isConstType(), isUnalignedType(), and isVolatileType().

◆ Record

Optional<codeview::EnumRecord> llvm::pdb::NativeTypeEnum::Record
protected

Definition at line 67 of file NativeTypeEnum.h.

Referenced by getEnumRecord().

◆ UnmodifiedType

NativeTypeEnum* llvm::pdb::NativeTypeEnum::UnmodifiedType = nullptr
protected

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