//===- DIASymbol.cpp - Dump debug info from a PDB file ----------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "llvm-pdbdump.h" #include "DIASymbol.h" using namespace llvm::sys::windows; DIASymbol::DIASymbol(IDiaSymbol *DiaSymbol) : Symbol(DiaSymbol) { Symbol->AddRef(); } DIASymbol::~DIASymbol() { Symbol->Release(); } void DIASymbol::fullDump(int IndentLevel) { getLexicalParent().dump("Lexical parent", IndentLevel); getClassParent().dump("Class parent", IndentLevel); getType().dump("Type", IndentLevel); getArrayIndexType().dump("Array index type", IndentLevel); getVirtualTableShape().dump("Vtable shape", IndentLevel); getLowerBound().dump("Lower bound", IndentLevel); getUpperBound().dump("Upper bound", IndentLevel); getObjectPointerType().dump("Object pointer type", IndentLevel); getContainer().dump("Container", IndentLevel); getVirtualBaseTableType().dump("Virtual base table type", IndentLevel); getUnmodifiedType().dump("Unmodified type", IndentLevel); getSubType().dump("Sub type", IndentLevel); getBaseSymbol().dump("Base symbol", IndentLevel); #if (_MSC_FULL_VER >= 180031101) // These methods are only available on VS 2013 SP4 and higher. isPGO().dump("Is PGO", IndentLevel); hasValidPGOCounts().dump("Has valid PGO counts", IndentLevel); isOptimizedForSpeed().dump("Is optimized for speed", IndentLevel); getPGOEntryCount().dump("PGO entry count", IndentLevel); getPGOEdgeCount().dump("PGO edge count", IndentLevel); getPGODynamicInstructionCount().dump("PGO dynamic instruction count", IndentLevel); getStaticSize().dump("Static size", IndentLevel); getFinalLiveStaticSize().dump("Final live static size", IndentLevel); getPhaseName().dump("Phase name", IndentLevel); hasControlFlowCheck().dump("Has control flow check", IndentLevel); #endif getAccess().dump("Access", IndentLevel); getAddressOffset().dump("Address Offset", IndentLevel); getAddressSection().dump("Address Section", IndentLevel); getAddressTaken().dump("Address Taken", IndentLevel); getAge().dump("Age", IndentLevel); getArrayIndexTypeId().dump("Array Index Type Id", IndentLevel); getBackEndMajor().dump("Back End Major", IndentLevel); getBackEndMinor().dump("Back End Minor", IndentLevel); getBackEndBuild().dump("Back End Build", IndentLevel); getBaseDataOffset().dump("Base Data Offset", IndentLevel); getBaseDataSlot().dump("Base Data Slot", IndentLevel); getBaseSymbolId().dump("Base Symbol Id", IndentLevel); getBaseType().dump("Base Type", IndentLevel); getBitPosition().dump("Bit Position", IndentLevel); getBuiltInKind().dump("Built In Kind", IndentLevel); getCallingConvention().dump("Calling Convention", IndentLevel); getClassParentId().dump("Class Parent Id", IndentLevel); isCode().dump("Code", IndentLevel); isCompilerGenerated().dump("Compiler Generated", IndentLevel); getCompilerName().dump("Compiler Name", IndentLevel); hasConstructor().dump("Constructor", IndentLevel); isConstType().dump("Const Type", IndentLevel); getCount().dump("Count", IndentLevel); getCountLiveRanges().dump("Count Live Ranges", IndentLevel); hasCustomCallingConvention().dump("Custom Calling Convention", IndentLevel); getDataKind().dump("Data Kind", IndentLevel); isEditAndContinueEnabled().dump("Edit and Continue Enabled", IndentLevel); hasFarReturn().dump("Far Return", IndentLevel); getFrontEndMajor().dump("Front End Major", IndentLevel); getFrontEndMinor().dump("Front End Minor", IndentLevel); getFrontEndBuild().dump("Front End Build", IndentLevel); isFunction().dump("Function", IndentLevel); getGuid().dump("GUID", IndentLevel); hasAlloca().dump("Has Alloca", IndentLevel); hasAssignmentOperator().dump("Has Assignment Operator", IndentLevel); hasCastOperator().dump("Has Cast Operator", IndentLevel); hasDebugInfo().dump("Has Debug Info", IndentLevel); hasEH().dump("Has EH", IndentLevel); hasEHa().dump("Has EHa", IndentLevel); hasInlAsm().dump("Has Inline Asm", IndentLevel); hasLongJump().dump("Has longjmp", IndentLevel); hasManagedCode().dump("Has Managed Code", IndentLevel); hasNestedTypes().dump("Has Nested Types", IndentLevel); hasSecurityChecks().dump("Has Security Checks", IndentLevel); hasSEH().dump("Has SEH", IndentLevel); hasSetJump().dump("Has setjmp", IndentLevel); isIndirectVirtualBaseClass().dump("Is indirect virtual base", IndentLevel); hasInlineAttribute().dump("Has inline declspec", IndentLevel); hasInterruptReturn().dump("Has interrupt return", IndentLevel); isBaseVirtualFunction().dump("Is base virtual function", IndentLevel); isAcceleratorGroupSharedLocal().dump("Is Accelerator Group Shared Local", IndentLevel); isAcceleratorPointerTagLiveRange().dump( "Is Accelerator Pointer Tag Live Range", IndentLevel); isAcceleratorStubFunction().dump("Is Accelerator Stub Function", IndentLevel); isAggregated().dump("Is aggregated", IndentLevel); hasCTypes().dump("Has C types", IndentLevel); isCVTCIL().dump("Was converted from MSIL", IndentLevel); isDataAligned().dump("Is data aligned", IndentLevel); isHLSLData().dump("Is HLSL data", IndentLevel); isHotpatchable().dump("Is hot-patchable", IndentLevel); isLTCG().dump("Is LTCG", IndentLevel); isMatrixRowMajor().dump("Is matrix row major", IndentLevel); isMSILNetmodule().dump("Is MSIL .netmodule", IndentLevel); isMultipleInheritance().dump("Is multiple inheritance", IndentLevel); isNaked().dump("Is naked", IndentLevel); isOptimizedAway().dump("Is optimized away", IndentLevel); isPointerBasedOnSymbolValue().dump("Is pointer based on symbol value", IndentLevel); isPointerToDataMember().dump("Is pointer to data member", IndentLevel); isPointerToMemberFunction().dump("Is pointer to member function", IndentLevel); isReturnValue().dump("Is return value", IndentLevel); isSdl().dump("Is SDL", IndentLevel); isSingleInheritance().dump("Is single inheritance", IndentLevel); isSplitted().dump("Is splitted", IndentLevel); isStatic().dump("Is staic", IndentLevel); isStripped().dump("Is stripped", IndentLevel); isVirtualInheritance().dump("Is virtual inheritance", IndentLevel); getLanguage().dump("Language", IndentLevel); getLength().dump("Length", IndentLevel); getLexicalParentId().dump("Lexical parent id", IndentLevel); getLibraryName().dump("Library name", IndentLevel); getLiveRangeLength().dump("Live range length", IndentLevel); getLiveRangeStartAddressSection().dump("Live range start address section", IndentLevel); getLiveRangeStartAddressOffset().dump("Live range start address offset", IndentLevel); getLiveRangeStartRelativeVirtualAddress().dump("Live range start address RVA", IndentLevel); getLocationType().dump("Location type", IndentLevel); getLowerBoundId().dump("Lower bound id", IndentLevel); getMachineType().dump("Machine type", IndentLevel); isManagedRef().dump("Managed", IndentLevel); getMemorySpaceKind().dump("Memory space kind", IndentLevel); isMsilRef().dump("MSIL", IndentLevel); getName().dump("Name", IndentLevel); isNested().dump("Nested", IndentLevel); hasNoInlineAttribute().dump("Has noinline declspec", IndentLevel); hasNoReturnAttribute().dump("Has noreturn declspec", IndentLevel); getNoStackOrdering().dump("No stack ordering", IndentLevel); isUnreached().dump("Not reached", IndentLevel); getNumberOfAcceleratorPointerTags().dump("Number of accelerator pointer tags", IndentLevel); getNumberOfModifiers().dump("Number of modifiers", IndentLevel); getNumberOfRegisterIndices().dump("Number of register indices", IndentLevel); getNumberOfRows().dump("Number of rows", IndentLevel); getNumberOfColumns().dump("Number of columns", IndentLevel); getObjectFileName().dump("Object file name", IndentLevel); getOemSymbolId().dump("OEM symbol id", IndentLevel); getOffset().dump("Offset", IndentLevel); hasOptimizedCodeDebugInfo().dump("Optimized code debug info", IndentLevel); hasOverloadedOperator().dump("Overloaded operator", IndentLevel); isPacked().dump("Packed", IndentLevel); getPlatform().dump("Platform", IndentLevel); isPureVirtual().dump("Pure", IndentLevel); getRank().dump("Rank", IndentLevel); isReference().dump("Reference", IndentLevel); getRegisterId().dump("Register ID", IndentLevel); getRegisterType().dump("Register type", IndentLevel); getRelativeVirtualAddress().dump("RVA", IndentLevel); isRestrictedType().dump("Restricted type", IndentLevel); getSamplerSlot().dump("Sampler slot", IndentLevel); isScoped().dump("Scoped", IndentLevel); getSignature().dump("Signature", IndentLevel); getSizeInUdt().dump("Size in UDT", IndentLevel); getSlot().dump("Slot", IndentLevel); getSourceFileName().dump("Source file name", IndentLevel); getStride().dump("Stride", IndentLevel); getSubTypeId().dump("Sub type ID", IndentLevel); getSymbolsFileName().dump("File name", IndentLevel); getSymIndexId().dump("Sym index ID", IndentLevel); getSymTag().dump("Sym tag", IndentLevel); getTargetOffset().dump("Target offset", IndentLevel); getTargetRelativeVirtualAddress().dump("Target RVA", IndentLevel); getTargetSection().dump("Target section", IndentLevel); getTargetVirtualAddress().dump("Target virtual address", IndentLevel); getTextureSlot().dump("Texture slot", IndentLevel); getThisAdjust().dump("This adjust", IndentLevel); getThunkOrdinal().dump("Thunk ordinal", IndentLevel); getTimeStamp().dump("Time stamp", IndentLevel); getToken().dump("Token", IndentLevel); getUavSlot().dump("UAV slot", IndentLevel); getUdtKind().dump("UDT kind", IndentLevel); isUnalignedType().dump("Unaligned type", IndentLevel); getUndecoratedName().dump("Undecorated name", IndentLevel); getUnmodifiedTypeId().dump("Unmodified type id", IndentLevel); getUpperBoundId().dump("Upper bound id", IndentLevel); isVirtual().dump("Virtual", IndentLevel); getVirtualAddress().dump("Virtual address", IndentLevel); isVirtualBaseClass().dump("Virtual base class", IndentLevel); getVirtualBaseDispIndex().dump("Virtual base disp index", IndentLevel); getVirtualBaseOffset().dump("Virtual base offset", IndentLevel); getVirtualBasePointerOffset().dump("Virtual base pointer offset", IndentLevel); getVirtualTableShapeId().dump("Vtable shape ID", IndentLevel); isVolatileType().dump("Volatile type", IndentLevel); } #if (_MSC_FULL_VER >= 180031101) DIAResult DIASymbol::isPGO() { return InternalGetDIAValue(&IDiaSymbol::get_isPGO); } DIAResult DIASymbol::hasValidPGOCounts() { return InternalGetDIAValue(&IDiaSymbol::get_hasValidPGOCounts); } DIAResult DIASymbol::isOptimizedForSpeed() { return InternalGetDIAValue(&IDiaSymbol::get_isOptimizedForSpeed); } DIAResult DIASymbol::getPGOEntryCount() { return InternalGetDIAValue(&IDiaSymbol::get_PGOEntryCount); } DIAResult DIASymbol::getPGOEdgeCount() { return InternalGetDIAValue(&IDiaSymbol::get_PGOEdgeCount); } DIAResult DIASymbol::getPGODynamicInstructionCount() { return InternalGetDIAValue(&IDiaSymbol::get_PGODynamicInstructionCount); } DIAResult DIASymbol::getStaticSize() { return InternalGetDIAValue(&IDiaSymbol::get_staticSize); } DIAResult DIASymbol::getFinalLiveStaticSize() { return InternalGetDIAValue(&IDiaSymbol::get_finalLiveStaticSize); } DIAResult DIASymbol::getPhaseName() { return InternalGetDIAStringValue(&IDiaSymbol::get_phaseName); } DIAResult DIASymbol::hasControlFlowCheck() { return InternalGetDIAValue(&IDiaSymbol::get_hasControlFlowCheck); } #endif DIAResult DIASymbol::getClassParent() { return InternalGetDIAValue( &IDiaSymbol::get_classParent); } DIAResult DIASymbol::getType() { return InternalGetDIAValue(&IDiaSymbol::get_type); } DIAResult DIASymbol::getArrayIndexType() { return InternalGetDIAValue( &IDiaSymbol::get_arrayIndexType); } DIAResult DIASymbol::getVirtualTableShape() { return InternalGetDIAValue( &IDiaSymbol::get_virtualTableShape); } DIAResult DIASymbol::getLowerBound() { return InternalGetDIAValue( &IDiaSymbol::get_lowerBound); } DIAResult DIASymbol::getUpperBound() { return InternalGetDIAValue( &IDiaSymbol::get_upperBound); } DIAResult DIASymbol::getObjectPointerType() { return InternalGetDIAValue( &IDiaSymbol::get_objectPointerType); } DIAResult DIASymbol::getContainer() { return InternalGetDIAValue( &IDiaSymbol::get_container); } DIAResult DIASymbol::getVirtualBaseTableType() { return InternalGetDIAValue( &IDiaSymbol::get_virtualBaseTableType); } DIAResult DIASymbol::getUnmodifiedType() { return InternalGetDIAValue( &IDiaSymbol::get_unmodifiedType); } DIAResult DIASymbol::getSubType() { return InternalGetDIAValue( &IDiaSymbol::get_subType); } DIAResult DIASymbol::getBaseSymbol() { return InternalGetDIAValue( &IDiaSymbol::get_baseSymbol); } DIAResult DIASymbol::getAccess() { return InternalGetDIAValue(&IDiaSymbol::get_access); } DIAResult DIASymbol::getAddressOffset() { return InternalGetDIAValue(&IDiaSymbol::get_addressOffset); } DIAResult DIASymbol::getAddressSection() { return InternalGetDIAValue(&IDiaSymbol::get_addressSection); } DIAResult DIASymbol::getAddressTaken() { return InternalGetDIAValue(&IDiaSymbol::get_addressTaken); } DIAResult DIASymbol::getAge() { return InternalGetDIAValue(&IDiaSymbol::get_age); } DIAResult DIASymbol::getArrayIndexTypeId() { return InternalGetDIAValue(&IDiaSymbol::get_arrayIndexTypeId); } DIAResult DIASymbol::getBackEndMajor() { return InternalGetDIAValue(&IDiaSymbol::get_backEndMajor); } DIAResult DIASymbol::getBackEndMinor() { return InternalGetDIAValue(&IDiaSymbol::get_backEndMinor); } DIAResult DIASymbol::getBackEndBuild() { return InternalGetDIAValue(&IDiaSymbol::get_backEndBuild); } DIAResult DIASymbol::getBackEndQFE() { return InternalGetDIAValue(&IDiaSymbol::get_backEndQFE); } DIAResult DIASymbol::getBaseDataOffset() { return InternalGetDIAValue(&IDiaSymbol::get_baseDataOffset); } DIAResult DIASymbol::getBaseDataSlot() { return InternalGetDIAValue(&IDiaSymbol::get_baseDataSlot); } DIAResult DIASymbol::getBaseSymbolId() { return InternalGetDIAValue(&IDiaSymbol::get_baseSymbolId); } DIAResult DIASymbol::getBaseType() { return InternalGetDIAValue(&IDiaSymbol::get_baseType); } DIAResult DIASymbol::getBitPosition() { return InternalGetDIAValue(&IDiaSymbol::get_bitPosition); } DIAResult DIASymbol::getBuiltInKind() { return InternalGetDIAValue(&IDiaSymbol::get_builtInKind); } DIAResult DIASymbol::getCallingConvention() { return InternalGetDIAValue( &IDiaSymbol::get_callingConvention); } DIAResult DIASymbol::getClassParentId() { return InternalGetDIAValue(&IDiaSymbol::get_classParentId); } DIAResult DIASymbol::isCode() { return InternalGetDIAValue(&IDiaSymbol::get_code); } DIAResult DIASymbol::isCompilerGenerated() { return InternalGetDIAValue(&IDiaSymbol::get_compilerGenerated); } DIAResult DIASymbol::getCompilerName() { return InternalGetDIAStringValue(&IDiaSymbol::get_compilerName); } DIAResult DIASymbol::hasConstructor() { return InternalGetDIAValue(&IDiaSymbol::get_constructor); } DIAResult DIASymbol::isConstType() { return InternalGetDIAValue(&IDiaSymbol::get_constType); } DIAResult DIASymbol::getCount() { return InternalGetDIAValue(&IDiaSymbol::get_count); } DIAResult DIASymbol::getCountLiveRanges() { return InternalGetDIAValue(&IDiaSymbol::get_countLiveRanges); } DIAResult DIASymbol::hasCustomCallingConvention() { return InternalGetDIAValue(&IDiaSymbol::get_customCallingConvention); } DIAResult DIASymbol::getDataKind() { return InternalGetDIAValue(&IDiaSymbol::get_dataKind); } DIAResult DIASymbol::isEditAndContinueEnabled() { return InternalGetDIAValue(&IDiaSymbol::get_editAndContinueEnabled); } DIAResult DIASymbol::hasFarReturn() { return InternalGetDIAValue(&IDiaSymbol::get_farReturn); } DIAResult DIASymbol::getFrontEndMajor() { return InternalGetDIAValue(&IDiaSymbol::get_frontEndMajor); } DIAResult DIASymbol::getFrontEndMinor() { return InternalGetDIAValue(&IDiaSymbol::get_frontEndMinor); } DIAResult DIASymbol::getFrontEndBuild() { return InternalGetDIAValue(&IDiaSymbol::get_frontEndBuild); } DIAResult DIASymbol::getFrontEndQFE() { return InternalGetDIAValue(&IDiaSymbol::get_frontEndQFE); } DIAResult DIASymbol::isFunction() { return InternalGetDIAValue(&IDiaSymbol::get_function); } DIAResult DIASymbol::getGuid() { return InternalGetDIAValue(&IDiaSymbol::get_guid); } DIAResult DIASymbol::hasAlloca() { return InternalGetDIAValue(&IDiaSymbol::get_hasAlloca); } DIAResult DIASymbol::hasAssignmentOperator() { return InternalGetDIAValue(&IDiaSymbol::get_hasAssignmentOperator); } DIAResult DIASymbol::hasCastOperator() { return InternalGetDIAValue(&IDiaSymbol::get_hasCastOperator); } DIAResult DIASymbol::hasDebugInfo() { return InternalGetDIAValue(&IDiaSymbol::get_hasDebugInfo); } DIAResult DIASymbol::hasEH() { return InternalGetDIAValue(&IDiaSymbol::get_hasEH); } DIAResult DIASymbol::hasEHa() { return InternalGetDIAValue(&IDiaSymbol::get_hasEHa); } DIAResult DIASymbol::hasInlAsm() { return InternalGetDIAValue(&IDiaSymbol::get_hasInlAsm); } DIAResult DIASymbol::hasLongJump() { return InternalGetDIAValue(&IDiaSymbol::get_hasLongJump); } DIAResult DIASymbol::hasManagedCode() { return InternalGetDIAValue(&IDiaSymbol::get_hasManagedCode); } DIAResult DIASymbol::hasNestedTypes() { return InternalGetDIAValue(&IDiaSymbol::get_hasNestedTypes); } DIAResult DIASymbol::hasSecurityChecks() { return InternalGetDIAValue(&IDiaSymbol::get_hasSecurityChecks); } DIAResult DIASymbol::hasSEH() { return InternalGetDIAValue(&IDiaSymbol::get_hasSEH); } DIAResult DIASymbol::hasSetJump() { return InternalGetDIAValue(&IDiaSymbol::get_hasSetJump); } DIAResult DIASymbol::isIndirectVirtualBaseClass() { return InternalGetDIAValue(&IDiaSymbol::get_indirectVirtualBaseClass); } DIAResult DIASymbol::hasInlineAttribute() { return InternalGetDIAValue(&IDiaSymbol::get_inlSpec); } DIAResult DIASymbol::hasInterruptReturn() { return InternalGetDIAValue(&IDiaSymbol::get_interruptReturn); } DIAResult DIASymbol::isBaseVirtualFunction() { return InternalGetDIAValue(&IDiaSymbol::get_intro); } DIAResult DIASymbol::isIntrinsic() { return InternalGetDIAValue(&IDiaSymbol::get_intrinsic); } DIAResult DIASymbol::isAcceleratorGroupSharedLocal() { return InternalGetDIAValue(&IDiaSymbol::get_isAcceleratorGroupSharedLocal); } DIAResult DIASymbol::isAcceleratorPointerTagLiveRange() { return InternalGetDIAValue(&IDiaSymbol::get_isAcceleratorPointerTagLiveRange); } DIAResult DIASymbol::isAcceleratorStubFunction() { return InternalGetDIAValue(&IDiaSymbol::get_isAcceleratorStubFunction); } DIAResult DIASymbol::isAggregated() { return InternalGetDIAValue(&IDiaSymbol::get_isAggregated); } DIAResult DIASymbol::isConstructorVirtualBase() { return InternalGetDIAValue(&IDiaSymbol::get_isConstructorVirtualBase); } DIAResult DIASymbol::hasStrictGSCheck() { return InternalGetDIAValue(&IDiaSymbol::get_strictGSCheck); } DIAResult DIASymbol::isLocationControlFlowDependent() { return InternalGetDIAValue(&IDiaSymbol::get_isLocationControlFlowDependent); } DIAResult DIASymbol::hasCTypes() { return InternalGetDIAValue(&IDiaSymbol::get_isCTypes); } DIAResult DIASymbol::isCVTCIL() { return InternalGetDIAValue(&IDiaSymbol::get_isCVTCIL); } DIAResult DIASymbol::isDataAligned() { return InternalGetDIAValue(&IDiaSymbol::get_isDataAligned); } DIAResult DIASymbol::isHLSLData() { return InternalGetDIAValue(&IDiaSymbol::get_isHLSLData); } DIAResult DIASymbol::isHotpatchable() { return InternalGetDIAValue(&IDiaSymbol::get_isHotpatchable); } DIAResult DIASymbol::isLTCG() { return InternalGetDIAValue(&IDiaSymbol::get_isLTCG); } DIAResult DIASymbol::isMatrixRowMajor() { return InternalGetDIAValue(&IDiaSymbol::get_isMatrixRowMajor); } DIAResult DIASymbol::isMSILNetmodule() { return InternalGetDIAValue(&IDiaSymbol::get_isMSILNetmodule); } DIAResult DIASymbol::isMultipleInheritance() { return InternalGetDIAValue(&IDiaSymbol::get_isMultipleInheritance); } DIAResult DIASymbol::isNaked() { return InternalGetDIAValue(&IDiaSymbol::get_isNaked); } DIAResult DIASymbol::isOptimizedAway() { return InternalGetDIAValue(&IDiaSymbol::get_isOptimizedAway); } DIAResult DIASymbol::isPointerBasedOnSymbolValue() { return InternalGetDIAValue(&IDiaSymbol::get_isPointerBasedOnSymbolValue); } DIAResult DIASymbol::isPointerToDataMember() { return InternalGetDIAValue(&IDiaSymbol::get_isPointerToDataMember); } DIAResult DIASymbol::isPointerToMemberFunction() { return InternalGetDIAValue(&IDiaSymbol::get_isPointerToMemberFunction); } DIAResult DIASymbol::isReturnValue() { return InternalGetDIAValue(&IDiaSymbol::get_isReturnValue); } DIAResult DIASymbol::isSdl() { return InternalGetDIAValue(&IDiaSymbol::get_isSdl); } DIAResult DIASymbol::isSingleInheritance() { return InternalGetDIAValue(&IDiaSymbol::get_isSingleInheritance); } DIAResult DIASymbol::isSplitted() { return InternalGetDIAValue(&IDiaSymbol::get_isSplitted); } DIAResult DIASymbol::isStatic() { return InternalGetDIAValue(&IDiaSymbol::get_isStatic); } DIAResult DIASymbol::isStripped() { return InternalGetDIAValue(&IDiaSymbol::get_isStripped); } DIAResult DIASymbol::isVirtualInheritance() { return InternalGetDIAValue(&IDiaSymbol::get_isVirtualInheritance); } DIAResult DIASymbol::getLanguage() { return InternalGetDIAValue(&IDiaSymbol::get_language); } DIAResult DIASymbol::isSafeBuffers() { return InternalGetDIAValue(&IDiaSymbol::get_isSafeBuffers); } DIAResult DIASymbol::getLength() { return InternalGetDIAValue(&IDiaSymbol::get_length); } DIAResult DIASymbol::getLexicalParentId() { return InternalGetDIAValue(&IDiaSymbol::get_lexicalParentId); } DIAResult DIASymbol::getLexicalParent() { return InternalGetDIAValue( &IDiaSymbol::get_lexicalParent); } DIAResult DIASymbol::getLocalBasePointerRegisterId() { return InternalGetDIAValue(&IDiaSymbol::get_localBasePointerRegisterId); } DIAResult DIASymbol::getLibraryName() { return InternalGetDIAStringValue(&IDiaSymbol::get_libraryName); } DIAResult DIASymbol::getLiveRangeLength() { return InternalGetDIAValue(&IDiaSymbol::get_liveRangeLength); } DIAResult DIASymbol::getLiveRangeStartAddressSection() { return InternalGetDIAValue(&IDiaSymbol::get_liveRangeStartAddressSection); } DIAResult DIASymbol::getLiveRangeStartAddressOffset() { return InternalGetDIAValue(&IDiaSymbol::get_liveRangeStartAddressOffset); } DIAResult DIASymbol::getLiveRangeStartRelativeVirtualAddress() { return InternalGetDIAValue( &IDiaSymbol::get_liveRangeStartRelativeVirtualAddress); } DIAResult DIASymbol::getLocationType() { return InternalGetDIAValue( &IDiaSymbol::get_locationType); } DIAResult DIASymbol::getLowerBoundId() { return InternalGetDIAValue(&IDiaSymbol::get_lowerBoundId); } DIAResult DIASymbol::getMachineType() { return InternalGetDIAValue( &IDiaSymbol::get_machineType); } DIAResult DIASymbol::isManagedRef() { return InternalGetDIAValue(&IDiaSymbol::get_managed); } DIAResult DIASymbol::getMemorySpaceKind() { return InternalGetDIAValue(&IDiaSymbol::get_memorySpaceKind); } DIAResult DIASymbol::isMsilRef() { return InternalGetDIAValue(&IDiaSymbol::get_msil); } DIAResult DIASymbol::getName() { return InternalGetDIAStringValue(&IDiaSymbol::get_name); } DIAResult DIASymbol::isNested() { return InternalGetDIAValue(&IDiaSymbol::get_nested); } DIAResult DIASymbol::hasNoInlineAttribute() { return InternalGetDIAValue(&IDiaSymbol::get_noInline); } DIAResult DIASymbol::hasNoReturnAttribute() { return InternalGetDIAValue(&IDiaSymbol::get_noReturn); } DIAResult DIASymbol::getNoStackOrdering() { return InternalGetDIAValue(&IDiaSymbol::get_noStackOrdering); } DIAResult DIASymbol::isUnreached() { return InternalGetDIAValue(&IDiaSymbol::get_notReached); } DIAResult DIASymbol::getNumberOfAcceleratorPointerTags() { return InternalGetDIAValue(&IDiaSymbol::get_numberOfAcceleratorPointerTags); } DIAResult DIASymbol::getNumberOfModifiers() { return InternalGetDIAValue(&IDiaSymbol::get_numberOfModifiers); } DIAResult DIASymbol::getNumberOfRegisterIndices() { return InternalGetDIAValue(&IDiaSymbol::get_numberOfRegisterIndices); } DIAResult DIASymbol::getNumberOfRows() { return InternalGetDIAValue(&IDiaSymbol::get_numberOfRows); } DIAResult DIASymbol::getNumberOfColumns() { return InternalGetDIAValue(&IDiaSymbol::get_numberOfColumns); } DIAResult DIASymbol::getObjectFileName() { return InternalGetDIAStringValue(&IDiaSymbol::get_objectFileName); } DIAResult DIASymbol::getOemSymbolId() { return InternalGetDIAValue(&IDiaSymbol::get_oemSymbolId); } DIAResult DIASymbol::getOffset() { return InternalGetDIAValue(&IDiaSymbol::get_offset); } DIAResult DIASymbol::getOffsetInUdt() { return InternalGetDIAValue(&IDiaSymbol::get_offsetInUdt); } DIAResult DIASymbol::hasOptimizedCodeDebugInfo() { return InternalGetDIAValue(&IDiaSymbol::get_optimizedCodeDebugInfo); } DIAResult DIASymbol::hasOverloadedOperator() { return InternalGetDIAValue(&IDiaSymbol::get_overloadedOperator); } DIAResult DIASymbol::isPacked() { return InternalGetDIAValue(&IDiaSymbol::get_packed); } DIAResult DIASymbol::getPlatform() { return InternalGetDIAValue(&IDiaSymbol::get_platform); } DIAResult DIASymbol::isPureVirtual() { return InternalGetDIAValue(&IDiaSymbol::get_pure); } DIAResult DIASymbol::getRank() { return InternalGetDIAValue(&IDiaSymbol::get_rank); } DIAResult DIASymbol::isReference() { return InternalGetDIAValue(&IDiaSymbol::get_reference); } DIAResult DIASymbol::isRValueReference() { return InternalGetDIAValue(&IDiaSymbol::get_RValueReference); } DIAResult DIASymbol::getRegisterId() { return InternalGetDIAValue(&IDiaSymbol::get_registerId); } DIAResult DIASymbol::getRegisterType() { return InternalGetDIAValue(&IDiaSymbol::get_registerType); } DIAResult DIASymbol::getRelativeVirtualAddress() { return InternalGetDIAValue(&IDiaSymbol::get_relativeVirtualAddress); } DIAResult DIASymbol::isRestrictedType() { return InternalGetDIAValue(&IDiaSymbol::get_restrictedType); } DIAResult DIASymbol::getSamplerSlot() { return InternalGetDIAValue(&IDiaSymbol::get_samplerSlot); } DIAResult DIASymbol::isScoped() { return InternalGetDIAValue(&IDiaSymbol::get_scoped); } DIAResult DIASymbol::isRefUdt() { return InternalGetDIAValue(&IDiaSymbol::get_isRefUdt); } DIAResult DIASymbol::isValueUdt() { return InternalGetDIAValue(&IDiaSymbol::get_isValueUdt); } DIAResult DIASymbol::isInterfaceUdt() { return InternalGetDIAValue(&IDiaSymbol::get_isInterfaceUdt); } DIAResult DIASymbol::isCxxReturnUdt() { return InternalGetDIAValue(&IDiaSymbol::get_isCxxReturnUdt); } DIAResult DIASymbol::getSignature() { return InternalGetDIAValue(&IDiaSymbol::get_signature); } DIAResult DIASymbol::getSizeInUdt() { return InternalGetDIAValue(&IDiaSymbol::get_sizeInUdt); } DIAResult DIASymbol::getSlot() { return InternalGetDIAValue(&IDiaSymbol::get_slot); } DIAResult DIASymbol::getSourceFileName() { return InternalGetDIAStringValue(&IDiaSymbol::get_sourceFileName); } DIAResult DIASymbol::getStride() { return InternalGetDIAValue(&IDiaSymbol::get_stride); } DIAResult DIASymbol::getSubTypeId() { return InternalGetDIAValue(&IDiaSymbol::get_subTypeId); } DIAResult DIASymbol::getSymbolsFileName() { return InternalGetDIAStringValue(&IDiaSymbol::get_symbolsFileName); } DIAResult DIASymbol::getSymIndexId() { return InternalGetDIAValue(&IDiaSymbol::get_symIndexId); } DIAResult DIASymbol::getSymTag() { return InternalGetDIAValue(&IDiaSymbol::get_symTag); } DIAResult DIASymbol::getTargetOffset() { return InternalGetDIAValue(&IDiaSymbol::get_targetOffset); } DIAResult DIASymbol::getTargetRelativeVirtualAddress() { return InternalGetDIAValue(&IDiaSymbol::get_targetRelativeVirtualAddress); } DIAResult DIASymbol::getTargetSection() { return InternalGetDIAValue(&IDiaSymbol::get_targetSection); } DIAResult DIASymbol::getTargetVirtualAddress() { return InternalGetDIAValue(&IDiaSymbol::get_targetVirtualAddress); } DIAResult DIASymbol::getTextureSlot() { return InternalGetDIAValue(&IDiaSymbol::get_textureSlot); } DIAResult DIASymbol::getThisAdjust() { return InternalGetDIAValue(&IDiaSymbol::get_thisAdjust); } DIAResult DIASymbol::getThunkOrdinal() { return InternalGetDIAValue( &IDiaSymbol::get_thunkOrdinal); } DIAResult DIASymbol::getTimeStamp() { return InternalGetDIAValue(&IDiaSymbol::get_timeStamp); } DIAResult DIASymbol::getToken() { return InternalGetDIAValue(&IDiaSymbol::get_token); } DIAResult DIASymbol::getUavSlot() { return InternalGetDIAValue(&IDiaSymbol::get_uavSlot); } DIAResult DIASymbol::getUdtKind() { return InternalGetDIAValue(&IDiaSymbol::get_udtKind); } DIAResult DIASymbol::isUnalignedType() { return InternalGetDIAValue(&IDiaSymbol::get_unalignedType); } DIAResult DIASymbol::getUndecoratedName() { return InternalGetDIAStringValue(&IDiaSymbol::get_undecoratedName); } DIAResult DIASymbol::getUnmodifiedTypeId() { return InternalGetDIAValue(&IDiaSymbol::get_unmodifiedTypeId); } DIAResult DIASymbol::getUpperBoundId() { return InternalGetDIAValue(&IDiaSymbol::get_upperBoundId); } DIAResult DIASymbol::isVirtual() { return InternalGetDIAValue(&IDiaSymbol::get_virtual); } DIAResult DIASymbol::getVirtualAddress() { return InternalGetDIAValue(&IDiaSymbol::get_virtualAddress); } DIAResult DIASymbol::isVirtualBaseClass() { return InternalGetDIAValue(&IDiaSymbol::get_virtualBaseClass); } DIAResult DIASymbol::getVirtualBaseDispIndex() { return InternalGetDIAValue(&IDiaSymbol::get_virtualBaseDispIndex); } DIAResult DIASymbol::getVirtualBaseOffset() { return InternalGetDIAValue(&IDiaSymbol::get_virtualBaseOffset); } DIAResult DIASymbol::getVirtualBasePointerOffset() { return InternalGetDIAValue(&IDiaSymbol::get_virtualBasePointerOffset); } DIAResult DIASymbol::getVirtualTableShapeId() { return InternalGetDIAValue(&IDiaSymbol::get_virtualTableShapeId); } DIAResult DIASymbol::isVolatileType() { return InternalGetDIAValue(&IDiaSymbol::get_volatileType); }