1ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines//===- DIARawSymbol.cpp - DIA implementation of IPDBRawSymbol ---*- C++ -*-===// 2ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// 3ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// The LLVM Compiler Infrastructure 4ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// 5ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// This file is distributed under the University of Illinois Open Source 6ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// License. See LICENSE.TXT for details. 7ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// 8ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines//===----------------------------------------------------------------------===// 9ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 10ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "llvm/ADT/STLExtras.h" 11ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h" 12ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "llvm/DebugInfo/PDB/DIA/DIARawSymbol.h" 13ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "llvm/DebugInfo/PDB/DIA/DIASession.h" 14ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "llvm/DebugInfo/PDB/PDBExtras.h" 15ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "llvm/Support/ConvertUTF.h" 16ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "llvm/Support/raw_ostream.h" 17ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 18ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesusing namespace llvm; 19ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 20ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesnamespace { 21ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesVariant VariantFromVARIANT(const VARIANT &V) { 22ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Variant Result; 23ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines switch (V.vt) { 24ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines case VT_I1: 25ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Int8 = V.cVal; 26ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Type = PDB_VariantType::Int8; 27ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines break; 28ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines case VT_I2: 29ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Int16 = V.iVal; 30ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Type = PDB_VariantType::Int16; 31ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines break; 32ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines case VT_I4: 33ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Int32 = V.intVal; 34ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Type = PDB_VariantType::Int32; 35ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines break; 36ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines case VT_I8: 37ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Int64 = V.llVal; 38ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Type = PDB_VariantType::Int64; 39ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines break; 40ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines case VT_UI1: 41ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.UInt8 = V.bVal; 42ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Type = PDB_VariantType::UInt8; 43ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines break; 44ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines case VT_UI2: 45ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.UInt16 = V.uiVal; 46ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Type = PDB_VariantType::UInt16; 47ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines break; 48ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines case VT_UI4: 49ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.UInt32 = V.uintVal; 50ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Type = PDB_VariantType::UInt32; 51ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines break; 52ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines case VT_UI8: 53ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.UInt64 = V.ullVal; 54ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Type = PDB_VariantType::UInt64; 55ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines break; 56ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines case VT_BOOL: 57ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Bool = (V.boolVal == VARIANT_TRUE) ? true : false; 58ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Type = PDB_VariantType::Bool; 59ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines break; 60ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines case VT_R4: 61ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Single = V.fltVal; 62ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Type = PDB_VariantType::Single; 63ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines break; 64ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines case VT_R8: 65ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Double = V.dblVal; 66ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Type = PDB_VariantType::Double; 67ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines break; 68ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines default: 69ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Result.Type = PDB_VariantType::Unknown; 70ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines break; 71ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines } 72ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return Result; 73ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 74ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 75ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinestemplate <typename ArgType> 76ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesArgType PrivateGetDIAValue(IDiaSymbol *Symbol, 77ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines HRESULT (__stdcall IDiaSymbol::*Method)(ArgType *)) { 78ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines ArgType Value; 79ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (S_OK == (Symbol->*Method)(&Value)) 80ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return static_cast<ArgType>(Value); 81ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 82ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return ArgType(); 83ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 84ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 85ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinestemplate <typename ArgType, typename RetType> 86ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesRetType PrivateGetDIAValue(IDiaSymbol *Symbol, 87ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines HRESULT (__stdcall IDiaSymbol::*Method)(ArgType *)) { 88ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines ArgType Value; 89ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (S_OK == (Symbol->*Method)(&Value)) 90ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return static_cast<RetType>(Value); 91ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 92ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return RetType(); 93ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 94ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 95ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::string 96ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPrivateGetDIAValue(IDiaSymbol *Symbol, 97ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines HRESULT (__stdcall IDiaSymbol::*Method)(BSTR *)) { 98ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines CComBSTR Result16; 99ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (S_OK != (Symbol->*Method)(&Result16)) 100ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return std::string(); 101ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 102ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines const char *SrcBytes = reinterpret_cast<const char *>(Result16.m_str); 103ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines llvm::ArrayRef<char> SrcByteArray(SrcBytes, Result16.ByteLength()); 104ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines std::string Result8; 105ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (!llvm::convertUTF16ToUTF8String(SrcByteArray, Result8)) 106ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return std::string(); 107ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return Result8; 108ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 109ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 110ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_UniqueId 111ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPrivateGetDIAValue(IDiaSymbol *Symbol, 112ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines HRESULT (__stdcall IDiaSymbol::*Method)(GUID *)) { 113ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines GUID Result; 114ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (S_OK != (Symbol->*Method)(&Result)) 115ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PDB_UniqueId(); 116ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 117ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines static_assert(sizeof(PDB_UniqueId) == sizeof(GUID), 118ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines "PDB_UniqueId is the wrong size!"); 119ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines PDB_UniqueId IdResult; 120ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines ::memcpy(&IdResult, &Result, sizeof(GUID)); 121ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return IdResult; 122ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 123ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 124ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinestemplate <typename ArgType> 125ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesvoid DumpDIAValue(llvm::raw_ostream &OS, int Indent, StringRef Name, 126ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines IDiaSymbol *Symbol, 127ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines HRESULT (__stdcall IDiaSymbol::*Method)(ArgType *)) { 128ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines ArgType Value; 129ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (S_OK == (Symbol->*Method)(&Value)) { 130ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines OS << "\n"; 131ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines OS.indent(Indent); 132ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines OS << Name << ": " << Value; 133ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines } 134ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 135ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 136ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesvoid DumpDIAValue(llvm::raw_ostream &OS, int Indent, StringRef Name, 137ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines IDiaSymbol *Symbol, 138ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines HRESULT (__stdcall IDiaSymbol::*Method)(BSTR *)) { 139ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines BSTR Value = nullptr; 140ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (S_OK != (Symbol->*Method)(&Value)) 141ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return; 142ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines const char *Bytes = reinterpret_cast<const char *>(Value); 143ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines ArrayRef<char> ByteArray(Bytes, ::SysStringByteLen(Value)); 144ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines std::string Result; 145ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (llvm::convertUTF16ToUTF8String(ByteArray, Result)) { 146ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines OS << "\n"; 147ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines OS.indent(Indent); 148ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines OS << Name << ": " << Result; 149ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines } 150ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines ::SysFreeString(Value); 151ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 152ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 153ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesvoid DumpDIAValue(llvm::raw_ostream &OS, int Indent, StringRef Name, 154ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines IDiaSymbol *Symbol, 155ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines HRESULT (__stdcall IDiaSymbol::*Method)(VARIANT *)) { 156ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines VARIANT Value; 157ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Value.vt = VT_EMPTY; 158ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (S_OK != (Symbol->*Method)(&Value)) 159ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return; 160ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines OS << "\n"; 161ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines OS.indent(Indent); 162ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Variant V = VariantFromVARIANT(Value); 163ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines OS << V; 164ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 165ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 166ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 167ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesnamespace llvm { 168ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesraw_ostream &operator<<(raw_ostream &OS, const GUID &Guid) { 169ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines const PDB_UniqueId *Id = reinterpret_cast<const PDB_UniqueId *>(&Guid); 170ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines OS << *Id; 171ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return OS; 172ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 173ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 174ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 175ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesDIARawSymbol::DIARawSymbol(const DIASession &PDBSession, 176ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines CComPtr<IDiaSymbol> DiaSymbol) 177ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines : Session(PDBSession), Symbol(DiaSymbol) {} 178ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 179ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#define RAW_METHOD_DUMP(Stream, Method) \ 180ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines DumpDIAValue(Stream, Indent, StringRef(#Method), Symbol, &IDiaSymbol::Method); 181ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 182ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesvoid DIARawSymbol::dump(raw_ostream &OS, int Indent) const { 183ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_access) 184ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_addressOffset) 185ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_addressSection) 186ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_age) 187ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_arrayIndexTypeId) 188ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_backEndMajor) 189ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_backEndMinor) 190ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_backEndBuild) 191ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_backEndQFE) 192ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_baseDataOffset) 193ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_baseDataSlot) 194ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_baseSymbolId) 195ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_baseType) 196ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_bitPosition) 197ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_callingConvention) 198ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_classParentId) 199ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_compilerName) 200ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_count) 201ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_countLiveRanges) 202ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_frontEndMajor) 203ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_frontEndMinor) 204ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_frontEndBuild) 205ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_frontEndQFE) 206ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_lexicalParentId) 207ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_libraryName) 208ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_liveRangeStartAddressOffset) 209ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_liveRangeStartAddressSection) 210ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_liveRangeStartRelativeVirtualAddress) 211ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_localBasePointerRegisterId) 212ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_lowerBoundId) 213ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_memorySpaceKind) 214ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_name) 215ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_numberOfAcceleratorPointerTags) 216ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_numberOfColumns) 217ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_numberOfModifiers) 218ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_numberOfRegisterIndices) 219ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_numberOfRows) 220ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_objectFileName) 221ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_oemId) 222ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_oemSymbolId) 223ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_offsetInUdt) 224ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_platform) 225ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_rank) 226ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_registerId) 227ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_registerType) 228ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_relativeVirtualAddress) 229ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_samplerSlot) 230ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_signature) 231ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_sizeInUdt) 232ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_slot) 233ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_sourceFileName) 234ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_stride) 235ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_subTypeId) 236ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_symbolsFileName) 237ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_symIndexId) 238ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_targetOffset) 239ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_targetRelativeVirtualAddress) 240ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_targetVirtualAddress) 241ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_targetSection) 242ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_textureSlot) 243ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_timeStamp) 244ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_token) 245ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_typeId) 246ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_uavSlot) 247ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_undecoratedName) 248ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_unmodifiedTypeId) 249ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_upperBoundId) 250ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_virtualBaseDispIndex) 251ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_virtualBaseOffset) 252ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_virtualTableShapeId) 253ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_dataKind) 254ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_symTag) 255ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_guid) 256ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_offset) 257ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_thisAdjust) 258ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_virtualBasePointerOffset) 259ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_locationType) 260ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_machineType) 261ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_thunkOrdinal) 262ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_length) 263ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_liveRangeLength) 264ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_virtualAddress) 265ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_udtKind) 266ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_constructor) 267ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_customCallingConvention) 268ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_farReturn) 269ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_code) 270ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_compilerGenerated) 271ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_constType) 272ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_editAndContinueEnabled) 273ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_function) 274ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_stride) 275ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_noStackOrdering) 276ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasAlloca) 277ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasAssignmentOperator) 278ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isCTypes) 279ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasCastOperator) 280ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasDebugInfo) 281ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasEH) 282ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasEHa) 283ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasInlAsm) 284ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_framePointerPresent) 285ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_inlSpec) 286ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_interruptReturn) 287ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasLongJump) 288ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasManagedCode) 289ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasNestedTypes) 290ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_noInline) 291ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_noReturn) 292ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_optimizedCodeDebugInfo) 293ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_overloadedOperator) 294ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasSEH) 295ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasSecurityChecks) 296ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_hasSetJump) 297ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_strictGSCheck) 298ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isAcceleratorGroupSharedLocal) 299ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isAcceleratorPointerTagLiveRange) 300ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isAcceleratorStubFunction) 301ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isAggregated) 302ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_intro) 303ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isCVTCIL) 304ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isConstructorVirtualBase) 305ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isCxxReturnUdt) 306ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isDataAligned) 307ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isHLSLData) 308ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isHotpatchable) 309ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_indirectVirtualBaseClass) 310ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isInterfaceUdt) 311ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_intrinsic) 312ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isLTCG) 313ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isLocationControlFlowDependent) 314ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isMSILNetmodule) 315ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isMatrixRowMajor) 316ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_managed) 317ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_msil) 318ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isMultipleInheritance) 319ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isNaked) 320ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_nested) 321ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isOptimizedAway) 322ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_packed) 323ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isPointerBasedOnSymbolValue) 324ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isPointerToDataMember) 325ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isPointerToMemberFunction) 326ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_pure) 327ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_RValueReference) 328ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isRefUdt) 329ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_reference) 330ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_restrictedType) 331ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isReturnValue) 332ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isSafeBuffers) 333ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_scoped) 334ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isSdl) 335ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isSingleInheritance) 336ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isSplitted) 337ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isStatic) 338ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isStripped) 339ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_unalignedType) 340ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_notReached) 341ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isValueUdt) 342ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_virtual) 343ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_virtualBaseClass) 344ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_isVirtualInheritance) 345ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_volatileType) 346ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_wasInlined) 347ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_unused) 348ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines RAW_METHOD_DUMP(OS, get_value) 349ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 350ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 351ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::unique_ptr<IPDBEnumSymbols> 352ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesDIARawSymbol::findChildren(PDB_SymType Type) const { 353ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines enum SymTagEnum EnumVal = static_cast<enum SymTagEnum>(Type); 354ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 355ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines CComPtr<IDiaEnumSymbols> DiaEnumerator; 356ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (S_OK != Symbol->findChildrenEx(EnumVal, nullptr, nsNone, &DiaEnumerator)) 357ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return nullptr; 358ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 359ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return llvm::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); 360ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 361ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 362ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::unique_ptr<IPDBEnumSymbols> 363ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesDIARawSymbol::findChildren(PDB_SymType Type, StringRef Name, 364ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines PDB_NameSearchFlags Flags) const { 365ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines llvm::SmallVector<UTF16, 32> Name16; 366ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines llvm::convertUTF8ToUTF16String(Name, Name16); 367ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 368ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines enum SymTagEnum EnumVal = static_cast<enum SymTagEnum>(Type); 369ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines DWORD CompareFlags = static_cast<DWORD>(Flags); 370ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines wchar_t *Name16Str = reinterpret_cast<wchar_t *>(Name16.data()); 371ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 372ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines CComPtr<IDiaEnumSymbols> DiaEnumerator; 373ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (S_OK != 374ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Symbol->findChildrenEx(EnumVal, Name16Str, CompareFlags, &DiaEnumerator)) 375ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return nullptr; 376ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 377ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return llvm::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); 378ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 379ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 380ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::unique_ptr<IPDBEnumSymbols> 381ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesDIARawSymbol::findChildrenByRVA(PDB_SymType Type, StringRef Name, 382ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines PDB_NameSearchFlags Flags, uint32_t RVA) const { 383ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines llvm::SmallVector<UTF16, 32> Name16; 384ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines llvm::convertUTF8ToUTF16String(Name, Name16); 385ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 386ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines enum SymTagEnum EnumVal = static_cast<enum SymTagEnum>(Type); 387ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines DWORD CompareFlags = static_cast<DWORD>(Flags); 388ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines wchar_t *Name16Str = reinterpret_cast<wchar_t *>(Name16.data()); 389ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 390ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines CComPtr<IDiaEnumSymbols> DiaEnumerator; 391ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (S_OK != 392ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Symbol->findChildrenExByRVA(EnumVal, Name16Str, CompareFlags, RVA, 393ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &DiaEnumerator)) 394ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return nullptr; 395ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 396ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return llvm::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); 397ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 398ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 399ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::unique_ptr<IPDBEnumSymbols> 400ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesDIARawSymbol::findInlineFramesByRVA(uint32_t RVA) const { 401ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines CComPtr<IDiaEnumSymbols> DiaEnumerator; 402ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (S_OK != Symbol->findInlineFramesByRVA(RVA, &DiaEnumerator)) 403ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return nullptr; 404ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 405ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return llvm::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); 406ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 407ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 408ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesvoid DIARawSymbol::getDataBytes(llvm::SmallVector<uint8_t, 32> &bytes) const { 409ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines bytes.clear(); 410ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 411ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines DWORD DataSize = 0; 412ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Symbol->get_dataBytes(0, &DataSize, nullptr); 413ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (DataSize == 0) 414ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return; 415ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 416ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines bytes.resize(DataSize); 417ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Symbol->get_dataBytes(DataSize, &DataSize, bytes.data()); 418ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 419ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 420ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_MemberAccess DIARawSymbol::getAccess() const { 421ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_MemberAccess>(Symbol, 422ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_access); 423ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 424ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 425ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getAddressOffset() const { 426ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_addressOffset); 427ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 428ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 429ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getAddressSection() const { 430ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_addressSection); 431ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 432ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 433ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getAge() const { 434ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_age); 435ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 436ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 437ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getArrayIndexTypeId() const { 438ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_arrayIndexTypeId); 439ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 440ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 441ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesvoid DIARawSymbol::getBackEndVersion(VersionInfo &Version) const { 442ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Version.Major = PrivateGetDIAValue(Symbol, &IDiaSymbol::get_backEndMajor); 443ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Version.Minor = PrivateGetDIAValue(Symbol, &IDiaSymbol::get_backEndMinor); 444ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Version.Build = PrivateGetDIAValue(Symbol, &IDiaSymbol::get_backEndBuild); 445ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Version.QFE = PrivateGetDIAValue(Symbol, &IDiaSymbol::get_backEndQFE); 446ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 447ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 448ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getBaseDataOffset() const { 449ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_baseDataOffset); 450ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 451ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 452ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getBaseDataSlot() const { 453ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_baseDataSlot); 454ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 455ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 456ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getBaseSymbolId() const { 457ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_baseSymbolId); 458ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 459ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 460ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_BuiltinType DIARawSymbol::getBuiltinType() const { 461ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_BuiltinType>(Symbol, 462ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_baseType); 463ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 464ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 465ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getBitPosition() const { 466ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_bitPosition); 467ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 468ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 469ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_CallingConv DIARawSymbol::getCallingConvention() const { 470ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_CallingConv>( 471ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Symbol, &IDiaSymbol::get_callingConvention); 472ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 473ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 474ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getClassParentId() const { 475ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_classParentId); 476ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 477ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 478ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::string DIARawSymbol::getCompilerName() const { 479ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_compilerName); 480ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 481ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 482ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getCount() const { 483ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_count); 484ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 485ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 486ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getCountLiveRanges() const { 487ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_countLiveRanges); 488ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 489ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 490ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesvoid DIARawSymbol::getFrontEndVersion(VersionInfo &Version) const { 491ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Version.Major = PrivateGetDIAValue(Symbol, &IDiaSymbol::get_frontEndMajor); 492ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Version.Minor = PrivateGetDIAValue(Symbol, &IDiaSymbol::get_frontEndMinor); 493ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Version.Build = PrivateGetDIAValue(Symbol, &IDiaSymbol::get_frontEndBuild); 494ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Version.QFE = PrivateGetDIAValue(Symbol, &IDiaSymbol::get_frontEndQFE); 495ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 496ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 497ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_Lang DIARawSymbol::getLanguage() const { 498ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_Lang>(Symbol, &IDiaSymbol::get_language); 499ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 500ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 501ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getLexicalParentId() const { 502ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_lexicalParentId); 503ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 504ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 505ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::string DIARawSymbol::getLibraryName() const { 506ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_libraryName); 507ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 508ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 509ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getLiveRangeStartAddressOffset() const { 510ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, 511ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_liveRangeStartAddressOffset); 512ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 513ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 514ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getLiveRangeStartAddressSection() const { 515ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, 516ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_liveRangeStartAddressSection); 517ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 518ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 519ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getLiveRangeStartRelativeVirtualAddress() const { 520ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue( 521ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Symbol, &IDiaSymbol::get_liveRangeStartRelativeVirtualAddress); 522ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 523ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 524ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_RegisterId DIARawSymbol::getLocalBasePointerRegisterId() const { 525ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_RegisterId>( 526ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Symbol, &IDiaSymbol::get_localBasePointerRegisterId); 527ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 528ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 529ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getLowerBoundId() const { 530ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_lowerBoundId); 531ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 532ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 533ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getMemorySpaceKind() const { 534ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_memorySpaceKind); 535ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 536ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 537ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::string DIARawSymbol::getName() const { 538ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_name); 539ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 540ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 541ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getNumberOfAcceleratorPointerTags() const { 542ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, 543ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_numberOfAcceleratorPointerTags); 544ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 545ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 546ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getNumberOfColumns() const { 547ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_numberOfColumns); 548ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 549ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 550ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getNumberOfModifiers() const { 551ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_numberOfModifiers); 552ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 553ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 554ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getNumberOfRegisterIndices() const { 555ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_numberOfRegisterIndices); 556ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 557ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 558ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getNumberOfRows() const { 559ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_numberOfRows); 560ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 561ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 562ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::string DIARawSymbol::getObjectFileName() const { 563ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_objectFileName); 564ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 565ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 566ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getOemId() const { 567ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_oemId); 568ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 569ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 570ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getOemSymbolId() const { 571ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_oemSymbolId); 572ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 573ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 574ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getOffsetInUdt() const { 575ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_offsetInUdt); 576ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 577ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 578ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_Cpu DIARawSymbol::getPlatform() const { 579ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_Cpu>(Symbol, &IDiaSymbol::get_platform); 580ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 581ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 582ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getRank() const { 583ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_rank); 584ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 585ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 586ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_RegisterId DIARawSymbol::getRegisterId() const { 587ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_RegisterId>(Symbol, 588ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_registerId); 589ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 590ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 591ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getRegisterType() const { 592ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_registerType); 593ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 594ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 595ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getRelativeVirtualAddress() const { 596ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_relativeVirtualAddress); 597ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 598ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 599ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getSamplerSlot() const { 600ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_samplerSlot); 601ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 602ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 603ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getSignature() const { 604ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_signature); 605ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 606ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 607ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getSizeInUdt() const { 608ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_sizeInUdt); 609ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 610ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 611ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getSlot() const { 612ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_slot); 613ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 614ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 615ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::string DIARawSymbol::getSourceFileName() const { 616ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_sourceFileName); 617ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 618ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 619ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getStride() const { 620ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_stride); 621ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 622ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 623ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getSubTypeId() const { 624ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_subTypeId); 625ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 626ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 627ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::string DIARawSymbol::getSymbolsFileName() const { 628ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_symbolsFileName); 629ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 630ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 631ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getSymIndexId() const { 632ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_symIndexId); 633ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 634ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 635ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getTargetOffset() const { 636ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_targetOffset); 637ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 638ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 639ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getTargetRelativeVirtualAddress() const { 640ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, 641ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_targetRelativeVirtualAddress); 642ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 643ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 644ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint64_t DIARawSymbol::getTargetVirtualAddress() const { 645ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_targetVirtualAddress); 646ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 647ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 648ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getTargetSection() const { 649ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_targetSection); 650ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 651ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 652ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getTextureSlot() const { 653ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_textureSlot); 654ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 655ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 656ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getTimeStamp() const { 657ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_timeStamp); 658ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 659ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 660ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getToken() const { 661ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_token); 662ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 663ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 664ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getTypeId() const { 665ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_typeId); 666ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 667ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 668ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getUavSlot() const { 669ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_uavSlot); 670ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 671ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 672ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::string DIARawSymbol::getUndecoratedName() const { 673ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_undecoratedName); 674ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 675ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 676ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getUnmodifiedTypeId() const { 677ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_unmodifiedTypeId); 678ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 679ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 680ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getUpperBoundId() const { 681ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_upperBoundId); 682ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 683ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 684ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesVariant DIARawSymbol::getValue() const { 685ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines VARIANT Value; 686ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Value.vt = VT_EMPTY; 687ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (S_OK != Symbol->get_value(&Value)) 688ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return Variant(); 689ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 690ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return VariantFromVARIANT(Value); 691ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 692ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 693ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getVirtualBaseDispIndex() const { 694ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_virtualBaseDispIndex); 695ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 696ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 697ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getVirtualBaseOffset() const { 698ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_virtualBaseOffset); 699ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 700ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 701ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint32_t DIARawSymbol::getVirtualTableShapeId() const { 702ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_virtualTableShapeId); 703ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 704ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 705ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_DataKind DIARawSymbol::getDataKind() const { 706ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_DataKind>(Symbol, 707ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_dataKind); 708ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 709ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 710ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_SymType DIARawSymbol::getSymTag() const { 711ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_SymType>(Symbol, 712ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_symTag); 713ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 714ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 715ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_UniqueId DIARawSymbol::getGuid() const { 716ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_guid); 717ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 718ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 719ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesint32_t DIARawSymbol::getOffset() const { 720ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_offset); 721ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 722ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 723ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesint32_t DIARawSymbol::getThisAdjust() const { 724ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_thisAdjust); 725ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 726ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 727ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesint32_t DIARawSymbol::getVirtualBasePointerOffset() const { 728ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_virtualBasePointerOffset); 729ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 730ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 731ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_LocType DIARawSymbol::getLocationType() const { 732ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_LocType>(Symbol, 733ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_locationType); 734ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 735ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 736ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_Machine DIARawSymbol::getMachineType() const { 737ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_Machine>(Symbol, 738ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_machineType); 739ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 740ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 741ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_ThunkOrdinal DIARawSymbol::getThunkOrdinal() const { 742ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_ThunkOrdinal>( 743ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Symbol, &IDiaSymbol::get_thunkOrdinal); 744ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 745ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 746ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint64_t DIARawSymbol::getLength() const { 747ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_length); 748ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 749ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 750ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint64_t DIARawSymbol::getLiveRangeLength() const { 751ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_liveRangeLength); 752ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 753ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 754ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesuint64_t DIARawSymbol::getVirtualAddress() const { 755ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_virtualAddress); 756ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 757ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 758ebe69fe11e48d322045d5949c83283927a0d790bStephen HinesPDB_UdtType DIARawSymbol::getUdtKind() const { 759ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue<DWORD, PDB_UdtType>(Symbol, 760ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_udtKind); 761ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 762ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 763ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasConstructor() const { 764ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_constructor); 765ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 766ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 767ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasCustomCallingConvention() const { 768ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_customCallingConvention); 769ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 770ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 771ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasFarReturn() const { 772ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_farReturn); 773ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 774ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 775ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isCode() const { 776ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_code); 777ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 778ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 779ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isCompilerGenerated() const { 780ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_compilerGenerated); 781ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 782ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 783ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isConstType() const { 784ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_constType); 785ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 786ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 787ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isEditAndContinueEnabled() const { 788ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_editAndContinueEnabled); 789ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 790ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 791ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isFunction() const { 792ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_function); 793ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 794ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 795ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::getAddressTaken() const { 796ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_addressTaken); 797ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 798ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 799ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::getNoStackOrdering() const { 800ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_noStackOrdering); 801ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 802ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 803ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasAlloca() const { 804ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasAlloca); 805ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 806ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 807ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasAssignmentOperator() const { 808ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasAssignmentOperator); 809ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 810ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 811ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasCTypes() const { 812ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isCTypes); 813ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 814ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 815ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasCastOperator() const { 816ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasCastOperator); 817ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 818ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 819ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasDebugInfo() const { 820ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasDebugInfo); 821ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 822ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 823ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasEH() const { 824ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasEH); 825ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 826ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 827ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasEHa() const { 828ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasEHa); 829ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 830ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 831ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasInlAsm() const { 832ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasInlAsm); 833ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 834ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 835ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasInlineAttribute() const { 836ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_inlSpec); 837ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 838ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 839ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasInterruptReturn() const { 840ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_interruptReturn); 841ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 842ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 843ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasFramePointer() const { 844ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_framePointerPresent); 845ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 846ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 847ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasLongJump() const { 848ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasLongJump); 849ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 850ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 851ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasManagedCode() const { 852ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasManagedCode); 853ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 854ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 855ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasNestedTypes() const { 856ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasNestedTypes); 857ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 858ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 859ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasNoInlineAttribute() const { 860ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_noInline); 861ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 862ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 863ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasNoReturnAttribute() const { 864ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_noReturn); 865ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 866ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 867ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasOptimizedCodeDebugInfo() const { 868ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_optimizedCodeDebugInfo); 869ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 870ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 871ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasOverloadedOperator() const { 872ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_overloadedOperator); 873ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 874ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 875ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasSEH() const { 876ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasSEH); 877ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 878ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 879ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasSecurityChecks() const { 880ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasSecurityChecks); 881ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 882ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 883ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasSetJump() const { 884ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_hasSetJump); 885ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 886ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 887ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasStrictGSCheck() const { 888ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_strictGSCheck); 889ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 890ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 891ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isAcceleratorGroupSharedLocal() const { 892ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, 893ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_isAcceleratorGroupSharedLocal); 894ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 895ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 896ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isAcceleratorPointerTagLiveRange() const { 897ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, 898ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_isAcceleratorPointerTagLiveRange); 899ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 900ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 901ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isAcceleratorStubFunction() const { 902ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isAcceleratorStubFunction); 903ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 904ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 905ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isAggregated() const { 906ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isAggregated); 907ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 908ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 909ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isIntroVirtualFunction() const { 910ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_intro); 911ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 912ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 913ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isCVTCIL() const { 914ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isCVTCIL); 915ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 916ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 917ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isConstructorVirtualBase() const { 918ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isConstructorVirtualBase); 919ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 920ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 921ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isCxxReturnUdt() const { 922ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isCxxReturnUdt); 923ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 924ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 925ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isDataAligned() const { 926ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isDataAligned); 927ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 928ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 929ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isHLSLData() const { 930ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isHLSLData); 931ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 932ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 933ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isHotpatchable() const { 934ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isHotpatchable); 935ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 936ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 937ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isIndirectVirtualBaseClass() const { 938ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_indirectVirtualBaseClass); 939ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 940ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 941ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isInterfaceUdt() const { 942ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isInterfaceUdt); 943ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 944ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 945ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isIntrinsic() const { 946ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_intrinsic); 947ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 948ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 949ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isLTCG() const { 950ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isLTCG); 951ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 952ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 953ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isLocationControlFlowDependent() const { 954ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, 955ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_isLocationControlFlowDependent); 956ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 957ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 958ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isMSILNetmodule() const { 959ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isMSILNetmodule); 960ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 961ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 962ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isMatrixRowMajor() const { 963ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isMatrixRowMajor); 964ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 965ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 966ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isManagedCode() const { 967ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_managed); 968ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 969ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 970ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isMSILCode() const { 971ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_msil); 972ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 973ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 974ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isMultipleInheritance() const { 975ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isMultipleInheritance); 976ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 977ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 978ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isNaked() const { 979ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isNaked); 980ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 981ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 982ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isNested() const { 983ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_nested); 984ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 985ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 986ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isOptimizedAway() const { 987ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isOptimizedAway); 988ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 989ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 990ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isPacked() const { 991ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_packed); 992ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 993ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 994ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isPointerBasedOnSymbolValue() const { 995ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, 996ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines &IDiaSymbol::get_isPointerBasedOnSymbolValue); 997ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 998ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 999ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isPointerToDataMember() const { 1000ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isPointerToDataMember); 1001ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1002ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1003ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isPointerToMemberFunction() const { 1004ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isPointerToMemberFunction); 1005ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1006ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1007ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isPureVirtual() const { 1008ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_pure); 1009ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1010ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1011ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isRValueReference() const { 1012ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_RValueReference); 1013ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1014ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1015ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isRefUdt() const { 1016ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isRefUdt); 1017ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1018ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1019ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isReference() const { 1020ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_reference); 1021ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1022ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1023ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isRestrictedType() const { 1024ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_restrictedType); 1025ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1026ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1027ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isReturnValue() const { 1028ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isReturnValue); 1029ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1030ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1031ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isSafeBuffers() const { 1032ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isSafeBuffers); 1033ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1034ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1035ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isScoped() const { 1036ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_scoped); 1037ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1038ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1039ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isSdl() const { 1040ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isSdl); 1041ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1042ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1043ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isSingleInheritance() const { 1044ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isSingleInheritance); 1045ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1046ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1047ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isSplitted() const { 1048ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isSplitted); 1049ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1050ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1051ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isStatic() const { 1052ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isStatic); 1053ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1054ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1055ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::hasPrivateSymbols() const { 1056ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines // hasPrivateSymbols is the opposite of isStripped, but we expose 1057ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines // hasPrivateSymbols as a more intuitive interface. 1058ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return !PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isStripped); 1059ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1060ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1061ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isUnalignedType() const { 1062ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_unalignedType); 1063ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1064ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1065ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isUnreached() const { 1066ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_notReached); 1067ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1068ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1069ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isValueUdt() const { 1070ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isValueUdt); 1071ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1072ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1073ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isVirtual() const { 1074ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_virtual); 1075ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1076ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1077ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isVirtualBaseClass() const { 1078ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_virtualBaseClass); 1079ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1080ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1081ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isVirtualInheritance() const { 1082ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_isVirtualInheritance); 1083ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1084ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1085ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::isVolatileType() const { 1086ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_volatileType); 1087ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1088ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1089ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool DIARawSymbol::wasInlined() const { 1090ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_wasInlined); 1091ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1092ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 1093ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstd::string DIARawSymbol::getUnused() const { 1094ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_unused); 1095ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 1096