LLVM  14.0.0git
NativeRawSymbol.h
Go to the documentation of this file.
1 //==- NativeRawSymbol.h - Native implementation of IPDBRawSymbol -*- C++ -*-==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_DEBUGINFO_PDB_NATIVE_NATIVERAWSYMBOL_H
10 #define LLVM_DEBUGINFO_PDB_NATIVE_NATIVERAWSYMBOL_H
11 
13 #include <cstdint>
14 #include <memory>
15 
16 namespace llvm {
17 namespace pdb {
18 
19 class NativeSession;
20 
22  friend class SymbolCache;
23  virtual void initialize() {}
24 
25 public:
28 
29  void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,
30  PdbSymbolIdField RecurseIdFields) const override;
31 
32  std::unique_ptr<IPDBEnumSymbols>
33  findChildren(PDB_SymType Type) const override;
34  std::unique_ptr<IPDBEnumSymbols>
36  PDB_NameSearchFlags Flags) const override;
37  std::unique_ptr<IPDBEnumSymbols>
39  PDB_NameSearchFlags Flags,
40  uint32_t Section, uint32_t Offset) const override;
41  std::unique_ptr<IPDBEnumSymbols>
43  uint64_t VA) const override;
44  std::unique_ptr<IPDBEnumSymbols>
46  uint32_t RVA) const override;
47 
48  std::unique_ptr<IPDBEnumSymbols>
50  std::unique_ptr<IPDBEnumSymbols>
51  findInlineFramesByRVA(uint32_t RVA) const override;
52  std::unique_ptr<IPDBEnumSymbols>
53  findInlineFramesByVA(uint64_t VA) const override;
54 
55  std::unique_ptr<IPDBEnumLineNumbers> findInlineeLines() const override;
56  std::unique_ptr<IPDBEnumLineNumbers>
58  uint32_t Length) const override;
59  std::unique_ptr<IPDBEnumLineNumbers>
60  findInlineeLinesByRVA(uint32_t RVA, uint32_t Length) const override;
61  std::unique_ptr<IPDBEnumLineNumbers>
62  findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override;
63 
64  void getDataBytes(SmallVector<uint8_t, 32> &Bytes) const override;
65  void getFrontEndVersion(VersionInfo &Version) const override;
66  void getBackEndVersion(VersionInfo &Version) const override;
67  PDB_MemberAccess getAccess() const override;
68  uint32_t getAddressOffset() const override;
69  uint32_t getAddressSection() const override;
70  uint32_t getAge() const override;
71  SymIndexId getArrayIndexTypeId() const override;
72  uint32_t getBaseDataOffset() const override;
73  uint32_t getBaseDataSlot() const override;
74  SymIndexId getBaseSymbolId() const override;
75  PDB_BuiltinType getBuiltinType() const override;
76  uint32_t getBitPosition() const override;
77  PDB_CallingConv getCallingConvention() const override;
78  SymIndexId getClassParentId() const override;
79  std::string getCompilerName() const override;
80  uint32_t getCount() const override;
81  uint32_t getCountLiveRanges() const override;
82  PDB_Lang getLanguage() const override;
83  SymIndexId getLexicalParentId() const override;
84  std::string getLibraryName() const override;
89  SymIndexId getLowerBoundId() const override;
90  uint32_t getMemorySpaceKind() const override;
91  std::string getName() const override;
93  uint32_t getNumberOfColumns() const override;
94  uint32_t getNumberOfModifiers() const override;
95  uint32_t getNumberOfRegisterIndices() const override;
96  uint32_t getNumberOfRows() const override;
97  std::string getObjectFileName() const override;
98  uint32_t getOemId() const override;
99  SymIndexId getOemSymbolId() const override;
100  uint32_t getOffsetInUdt() const override;
101  PDB_Cpu getPlatform() const override;
102  uint32_t getRank() const override;
103  codeview::RegisterId getRegisterId() const override;
104  uint32_t getRegisterType() const override;
105  uint32_t getRelativeVirtualAddress() const override;
106  uint32_t getSamplerSlot() const override;
107  uint32_t getSignature() const override;
108  uint32_t getSizeInUdt() const override;
109  uint32_t getSlot() const override;
110  std::string getSourceFileName() const override;
111  std::unique_ptr<IPDBLineNumber> getSrcLineOnTypeDefn() const override;
112  uint32_t getStride() const override;
113  SymIndexId getSubTypeId() const override;
114  std::string getSymbolsFileName() const override;
115  SymIndexId getSymIndexId() const override;
116  uint32_t getTargetOffset() const override;
117  uint32_t getTargetRelativeVirtualAddress() const override;
118  uint64_t getTargetVirtualAddress() const override;
119  uint32_t getTargetSection() const override;
120  uint32_t getTextureSlot() const override;
121  uint32_t getTimeStamp() const override;
122  uint32_t getToken() const override;
123  SymIndexId getTypeId() const override;
124  uint32_t getUavSlot() const override;
125  std::string getUndecoratedName() const override;
126  std::string getUndecoratedNameEx(PDB_UndnameFlags Flags) const override;
127  SymIndexId getUnmodifiedTypeId() const override;
128  SymIndexId getUpperBoundId() const override;
129  Variant getValue() const override;
130  uint32_t getVirtualBaseDispIndex() const override;
131  uint32_t getVirtualBaseOffset() const override;
132  SymIndexId getVirtualTableShapeId() const override;
133  std::unique_ptr<PDBSymbolTypeBuiltin>
134  getVirtualBaseTableType() const override;
135  PDB_DataKind getDataKind() const override;
136  PDB_SymType getSymTag() const override;
137  codeview::GUID getGuid() const override;
138  int32_t getOffset() const override;
139  int32_t getThisAdjust() const override;
140  int32_t getVirtualBasePointerOffset() const override;
141  PDB_LocType getLocationType() const override;
142  PDB_Machine getMachineType() const override;
143  codeview::ThunkOrdinal getThunkOrdinal() const override;
144  uint64_t getLength() const override;
145  uint64_t getLiveRangeLength() const override;
146  uint64_t getVirtualAddress() const override;
147  PDB_UdtType getUdtKind() const override;
148  bool hasConstructor() const override;
149  bool hasCustomCallingConvention() const override;
150  bool hasFarReturn() const override;
151  bool isCode() const override;
152  bool isCompilerGenerated() const override;
153  bool isConstType() const override;
154  bool isEditAndContinueEnabled() const override;
155  bool isFunction() const override;
156  bool getAddressTaken() const override;
157  bool getNoStackOrdering() const override;
158  bool hasAlloca() const override;
159  bool hasAssignmentOperator() const override;
160  bool hasCTypes() const override;
161  bool hasCastOperator() const override;
162  bool hasDebugInfo() const override;
163  bool hasEH() const override;
164  bool hasEHa() const override;
165  bool hasInlAsm() const override;
166  bool hasInlineAttribute() const override;
167  bool hasInterruptReturn() const override;
168  bool hasFramePointer() const override;
169  bool hasLongJump() const override;
170  bool hasManagedCode() const override;
171  bool hasNestedTypes() const override;
172  bool hasNoInlineAttribute() const override;
173  bool hasNoReturnAttribute() const override;
174  bool hasOptimizedCodeDebugInfo() const override;
175  bool hasOverloadedOperator() const override;
176  bool hasSEH() const override;
177  bool hasSecurityChecks() const override;
178  bool hasSetJump() const override;
179  bool hasStrictGSCheck() const override;
180  bool isAcceleratorGroupSharedLocal() const override;
181  bool isAcceleratorPointerTagLiveRange() const override;
182  bool isAcceleratorStubFunction() const override;
183  bool isAggregated() const override;
184  bool isIntroVirtualFunction() const override;
185  bool isCVTCIL() const override;
186  bool isConstructorVirtualBase() const override;
187  bool isCxxReturnUdt() const override;
188  bool isDataAligned() const override;
189  bool isHLSLData() const override;
190  bool isHotpatchable() const override;
191  bool isIndirectVirtualBaseClass() const override;
192  bool isInterfaceUdt() const override;
193  bool isIntrinsic() const override;
194  bool isLTCG() const override;
195  bool isLocationControlFlowDependent() const override;
196  bool isMSILNetmodule() const override;
197  bool isMatrixRowMajor() const override;
198  bool isManagedCode() const override;
199  bool isMSILCode() const override;
200  bool isMultipleInheritance() const override;
201  bool isNaked() const override;
202  bool isNested() const override;
203  bool isOptimizedAway() const override;
204  bool isPacked() const override;
205  bool isPointerBasedOnSymbolValue() const override;
206  bool isPointerToDataMember() const override;
207  bool isPointerToMemberFunction() const override;
208  bool isPureVirtual() const override;
209  bool isRValueReference() const override;
210  bool isRefUdt() const override;
211  bool isReference() const override;
212  bool isRestrictedType() const override;
213  bool isReturnValue() const override;
214  bool isSafeBuffers() const override;
215  bool isScoped() const override;
216  bool isSdl() const override;
217  bool isSingleInheritance() const override;
218  bool isSplitted() const override;
219  bool isStatic() const override;
220  bool hasPrivateSymbols() const override;
221  bool isUnalignedType() const override;
222  bool isUnreached() const override;
223  bool isValueUdt() const override;
224  bool isVirtual() const override;
225  bool isVirtualBaseClass() const override;
226  bool isVirtualInheritance() const override;
227  bool isVolatileType() const override;
228  bool wasInlined() const override;
229  std::string getUnused() const override;
230 
231 protected:
235 };
236 
237 } // end namespace pdb
238 } // end namespace llvm
239 
240 #endif // LLVM_DEBUGINFO_PDB_NATIVE_NATIVERAWSYMBOL_H
llvm::pdb::NativeRawSymbol::isStatic
bool isStatic() const override
Definition: NativeRawSymbol.cpp:692
llvm::pdb::NativeRawSymbol::hasEHa
bool hasEHa() const override
Definition: NativeRawSymbol.cpp:472
llvm
---------------------— PointerInfo ------------------------------------—
Definition: AllocatorList.h:23
llvm::pdb::NativeRawSymbol::getVirtualBaseTableType
std::unique_ptr< PDBSymbolTypeBuiltin > getVirtualBaseTableType() const override
Definition: NativeRawSymbol.cpp:356
llvm::pdb::NativeRawSymbol::getRegisterId
codeview::RegisterId getRegisterId() const override
Definition: NativeRawSymbol.cpp:247
llvm::pdb::NativeRawSymbol::getSourceFileName
std::string getSourceFileName() const override
Definition: NativeRawSymbol.cpp:275
llvm::pdb::NativeRawSymbol::getLiveRangeStartRelativeVirtualAddress
uint32_t getLiveRangeStartRelativeVirtualAddress() const override
Definition: NativeRawSymbol.cpp:187
llvm::pdb::NativeRawSymbol::hasManagedCode
bool hasManagedCode() const override
Definition: NativeRawSymbol.cpp:496
llvm::pdb::NativeRawSymbol::getSamplerSlot
uint32_t getSamplerSlot() const override
Definition: NativeRawSymbol.cpp:259
llvm::pdb::NativeRawSymbol::getUnused
std::string getUnused() const override
Definition: NativeRawSymbol.cpp:732
llvm::pdb::NativeRawSymbol::wasInlined
bool wasInlined() const override
Definition: NativeRawSymbol.cpp:728
llvm::pdb::NativeRawSymbol::getTargetOffset
uint32_t getTargetOffset() const override
Definition: NativeRawSymbol.cpp:294
llvm::pdb::NativeRawSymbol::isConstType
bool isConstType() const override
Definition: NativeRawSymbol.cpp:428
IPDBRawSymbol.h
llvm::pdb::NativeRawSymbol::getBitPosition
uint32_t getBitPosition() const override
Definition: NativeRawSymbol.cpp:140
llvm::pdb::NativeRawSymbol::hasConstructor
bool hasConstructor() const override
Definition: NativeRawSymbol.cpp:408
llvm::pdb::NativeRawSymbol::getSymbolsFileName
std::string getSymbolsFileName() const override
Definition: NativeRawSymbol.cpp:290
llvm::SmallVector< uint8_t, 32 >
llvm::pdb::NativeRawSymbol::isHotpatchable
bool isHotpatchable() const override
Definition: NativeRawSymbol.cpp:576
llvm::pdb::NativeRawSymbol::getLocalBasePointerRegisterId
codeview::RegisterId getLocalBasePointerRegisterId() const override
Definition: NativeRawSymbol.cpp:191
llvm::pdb::NativeRawSymbol::getSymTag
PDB_SymType getSymTag() const override
Definition: NativeRawSymbol.cpp:364
llvm::pdb::NativeRawSymbol::isAcceleratorPointerTagLiveRange
bool isAcceleratorPointerTagLiveRange() const override
Definition: NativeRawSymbol.cpp:540
llvm::pdb::NativeRawSymbol::isCode
bool isCode() const override
Definition: NativeRawSymbol.cpp:420
llvm::pdb::NativeRawSymbol::getDataKind
PDB_DataKind getDataKind() const override
Definition: NativeRawSymbol.cpp:360
llvm::pdb::NativeRawSymbol::getAccess
PDB_MemberAccess getAccess() const override
Definition: NativeRawSymbol.cpp:101
llvm::codeview::GUID
This represents the 'GUID' type from windows.h.
Definition: GUID.h:21
llvm::pdb::NativeRawSymbol::getNumberOfRegisterIndices
uint32_t getNumberOfRegisterIndices() const override
Definition: NativeRawSymbol.cpp:217
llvm::pdb::PDB_UdtType
PDB_UdtType
These values correspond to the UdtKind enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:310
llvm::pdb::NativeRawSymbol::findInlineFramesByAddr
std::unique_ptr< IPDBEnumSymbols > findInlineFramesByAddr(uint32_t Section, uint32_t Offset) const override
Definition: NativeRawSymbol.cpp:61
llvm::pdb::NativeRawSymbol::isUnalignedType
bool isUnalignedType() const override
Definition: NativeRawSymbol.cpp:700
llvm::pdb::PDB_LocType
PDB_LocType
These values correspond to the LocationType enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:292
llvm::pdb::NativeRawSymbol::getVirtualBaseOffset
uint32_t getVirtualBaseOffset() const override
Definition: NativeRawSymbol.cpp:349
llvm::pdb::NativeRawSymbol::hasNoInlineAttribute
bool hasNoInlineAttribute() const override
Definition: NativeRawSymbol.cpp:504
llvm::Type
The instances of the Type class are immutable: once they are created, they are never changed.
Definition: Type.h:45
llvm::pdb::NativeRawSymbol::getNumberOfAcceleratorPointerTags
uint32_t getNumberOfAcceleratorPointerTags() const override
Definition: NativeRawSymbol.cpp:205
llvm::pdb::NativeRawSymbol::getNumberOfRows
uint32_t getNumberOfRows() const override
Definition: NativeRawSymbol.cpp:221
llvm::pdb::NativeRawSymbol::getLanguage
PDB_Lang getLanguage() const override
Definition: NativeRawSymbol.cpp:169
llvm::pdb::NativeRawSymbol::getSignature
uint32_t getSignature() const override
Definition: NativeRawSymbol.cpp:263
Offset
uint64_t Offset
Definition: ELFObjHandler.cpp:81
llvm::pdb::VersionInfo
Definition: PDBTypes.h:386
llvm::pdb::NativeRawSymbol::getAddressSection
uint32_t getAddressSection() const override
Definition: NativeRawSymbol.cpp:109
llvm::pdb::NativeRawSymbol::isMultipleInheritance
bool isMultipleInheritance() const override
Definition: NativeRawSymbol.cpp:616
llvm::pdb::NativeRawSymbol::findInlineeLines
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLines() const override
Definition: NativeRawSymbol.cpp:77
llvm::pdb::NativeRawSymbol::isRValueReference
bool isRValueReference() const override
Definition: NativeRawSymbol.cpp:652
llvm::pdb::NativeRawSymbol::getRegisterType
uint32_t getRegisterType() const override
Definition: NativeRawSymbol.cpp:251
initialize
static void initialize(TargetLibraryInfoImpl &TLI, const Triple &T, ArrayRef< StringLiteral > StandardNames)
Initialize the set of available library functions based on the specified target triple.
Definition: TargetLibraryInfo.cpp:116
llvm::pdb::SymbolCache
Definition: SymbolCache.h:31
llvm::pdb::NativeRawSymbol::getUpperBoundId
SymIndexId getUpperBoundId() const override
Definition: NativeRawSymbol.cpp:339
llvm::pdb::NativeRawSymbol::getMemorySpaceKind
uint32_t getMemorySpaceKind() const override
Definition: NativeRawSymbol.cpp:197
llvm::pdb::NativeRawSymbol::getStride
uint32_t getStride() const override
Definition: NativeRawSymbol.cpp:284
llvm::pdb::PDB_SymType
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:243
llvm::pdb::NativeRawSymbol::isIntrinsic
bool isIntrinsic() const override
Definition: NativeRawSymbol.cpp:588
llvm::pdb::NativeRawSymbol::isVolatileType
bool isVolatileType() const override
Definition: NativeRawSymbol.cpp:724
llvm::pdb::NativeRawSymbol::getLength
uint64_t getLength() const override
Definition: NativeRawSymbol.cpp:392
llvm::pdb::NativeRawSymbol::getMachineType
PDB_Machine getMachineType() const override
Definition: NativeRawSymbol.cpp:384
llvm::pdb::NativeRawSymbol::hasEH
bool hasEH() const override
Definition: NativeRawSymbol.cpp:468
llvm::ARMBuildAttrs::Section
@ Section
Legacy Tags.
Definition: ARMBuildAttributes.h:78
llvm::pdb::NativeRawSymbol::hasInlineAttribute
bool hasInlineAttribute() const override
Definition: NativeRawSymbol.cpp:480
llvm::pdb::NativeRawSymbol::getSrcLineOnTypeDefn
std::unique_ptr< IPDBLineNumber > getSrcLineOnTypeDefn() const override
Definition: NativeRawSymbol.cpp:280
llvm::pdb::NativeRawSymbol::getLowerBoundId
SymIndexId getLowerBoundId() const override
Definition: NativeRawSymbol.cpp:195
llvm::pdb::NativeRawSymbol::hasOptimizedCodeDebugInfo
bool hasOptimizedCodeDebugInfo() const override
Definition: NativeRawSymbol.cpp:512
llvm::pdb::NativeRawSymbol::getAddressTaken
bool getAddressTaken() const override
Definition: NativeRawSymbol.cpp:440
llvm::pdb::NativeRawSymbol::isPacked
bool isPacked() const override
Definition: NativeRawSymbol.cpp:632
llvm::pdb::NativeRawSymbol::isSdl
bool isSdl() const override
Definition: NativeRawSymbol.cpp:680
llvm::pdb::NativeRawSymbol::getLiveRangeStartAddressSection
uint32_t getLiveRangeStartAddressSection() const override
Definition: NativeRawSymbol.cpp:183
llvm::pdb::NativeRawSymbol::getSubTypeId
SymIndexId getSubTypeId() const override
Definition: NativeRawSymbol.cpp:288
llvm::pdb::NativeRawSymbol::findInlineFramesByVA
std::unique_ptr< IPDBEnumSymbols > findInlineFramesByVA(uint64_t VA) const override
Definition: NativeRawSymbol.cpp:72
llvm::pdb::NativeRawSymbol::getUdtKind
PDB_UdtType getUdtKind() const override
Definition: NativeRawSymbol.cpp:404
llvm::pdb::NativeRawSymbol::isIntroVirtualFunction
bool isIntroVirtualFunction() const override
Definition: NativeRawSymbol.cpp:552
llvm::pdb::NativeRawSymbol::hasSEH
bool hasSEH() const override
Definition: NativeRawSymbol.cpp:520
llvm::pdb::NativeRawSymbol::isSingleInheritance
bool isSingleInheritance() const override
Definition: NativeRawSymbol.cpp:684
llvm::pdb::NativeRawSymbol::isFunction
bool isFunction() const override
Definition: NativeRawSymbol.cpp:436
llvm::pdb::SymIndexId
uint32_t SymIndexId
Definition: PDBTypes.h:26
llvm::pdb::NativeRawSymbol::isPureVirtual
bool isPureVirtual() const override
Definition: NativeRawSymbol.cpp:648
llvm::pdb::NativeRawSymbol::getCountLiveRanges
uint32_t getCountLiveRanges() const override
Definition: NativeRawSymbol.cpp:158
llvm::pdb::PDB_DataKind
PDB_DataKind
These values correspond to the DataKind enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:228
llvm::pdb::NativeRawSymbol::hasPrivateSymbols
bool hasPrivateSymbols() const override
Definition: NativeRawSymbol.cpp:696
llvm::pdb::NativeRawSymbol::getOemSymbolId
SymIndexId getOemSymbolId() const override
Definition: NativeRawSymbol.cpp:233
llvm::pdb::NativeRawSymbol::getOffsetInUdt
uint32_t getOffsetInUdt() const override
Definition: NativeRawSymbol.cpp:235
llvm::pdb::NativeRawSymbol::getVirtualAddress
uint64_t getVirtualAddress() const override
Definition: NativeRawSymbol.cpp:400
llvm::pdb::NativeRawSymbol::isAcceleratorStubFunction
bool isAcceleratorStubFunction() const override
Definition: NativeRawSymbol.cpp:544
llvm::pdb::NativeRawSymbol::isCompilerGenerated
bool isCompilerGenerated() const override
Definition: NativeRawSymbol.cpp:424
llvm::pdb::NativeRawSymbol::isVirtualBaseClass
bool isVirtualBaseClass() const override
Definition: NativeRawSymbol.cpp:716
llvm::pdb::NativeRawSymbol::hasDebugInfo
bool hasDebugInfo() const override
Definition: NativeRawSymbol.cpp:464
llvm::pdb::NativeRawSymbol::getThisAdjust
int32_t getThisAdjust() const override
Definition: NativeRawSymbol.cpp:372
llvm::pdb::NativeRawSymbol::hasInlAsm
bool hasInlAsm() const override
Definition: NativeRawSymbol.cpp:476
llvm::pdb::NativeRawSymbol::getBaseDataSlot
uint32_t getBaseDataSlot() const override
Definition: NativeRawSymbol.cpp:130
llvm::raw_ostream
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:53
llvm::pdb::NativeRawSymbol::isLocationControlFlowDependent
bool isLocationControlFlowDependent() const override
Definition: NativeRawSymbol.cpp:596
llvm::pdb::NativeRawSymbol::getToken
uint32_t getToken() const override
Definition: NativeRawSymbol.cpp:318
llvm::pdb::NativeRawSymbol::getBackEndVersion
void getBackEndVersion(VersionInfo &Version) const override
Definition: NativeRawSymbol.cpp:119
llvm::pdb::PDB_NameSearchFlags
PDB_NameSearchFlags
Defines flags used for enumerating child symbols.
Definition: PDBTypes.h:102
llvm::pdb::NativeRawSymbol::getSizeInUdt
uint32_t getSizeInUdt() const override
Definition: NativeRawSymbol.cpp:267
llvm::IndexedInstrProf::Version
const uint64_t Version
Definition: InstrProf.h:991
llvm::pdb::NativeRawSymbol::getLocationType
PDB_LocType getLocationType() const override
Definition: NativeRawSymbol.cpp:380
llvm::pdb::NativeRawSymbol::hasAssignmentOperator
bool hasAssignmentOperator() const override
Definition: NativeRawSymbol.cpp:452
llvm::pdb::NativeRawSymbol::getOemId
uint32_t getOemId() const override
Definition: NativeRawSymbol.cpp:229
llvm::pdb::NativeRawSymbol::isAggregated
bool isAggregated() const override
Definition: NativeRawSymbol.cpp:548
llvm::pdb::NativeRawSymbol::isIndirectVirtualBaseClass
bool isIndirectVirtualBaseClass() const override
Definition: NativeRawSymbol.cpp:580
llvm::pdb::NativeRawSymbol::getFrontEndVersion
void getFrontEndVersion(VersionInfo &Version) const override
Definition: NativeRawSymbol.cpp:162
llvm::pdb::NativeRawSymbol::isPointerToDataMember
bool isPointerToDataMember() const override
Definition: NativeRawSymbol.cpp:640
llvm::pdb::NativeRawSymbol::hasCastOperator
bool hasCastOperator() const override
Definition: NativeRawSymbol.cpp:460
llvm::pdb::NativeRawSymbol::getSlot
uint32_t getSlot() const override
Definition: NativeRawSymbol.cpp:271
llvm::pdb::NativeRawSymbol::isPointerToMemberFunction
bool isPointerToMemberFunction() const override
Definition: NativeRawSymbol.cpp:644
llvm::pdb::NativeRawSymbol::isVirtual
bool isVirtual() const override
Definition: NativeRawSymbol.cpp:712
llvm::pdb::NativeRawSymbol::isNested
bool isNested() const override
Definition: NativeRawSymbol.cpp:624
llvm::pdb::NativeRawSymbol::findInlineeLinesByAddr
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLinesByAddr(uint32_t Section, uint32_t Offset, uint32_t Length) const override
Definition: NativeRawSymbol.cpp:82
llvm::pdb::NativeRawSymbol::hasStrictGSCheck
bool hasStrictGSCheck() const override
Definition: NativeRawSymbol.cpp:532
llvm::pdb::NativeRawSymbol::getVirtualBasePointerOffset
int32_t getVirtualBasePointerOffset() const override
Definition: NativeRawSymbol.cpp:376
uint64_t
llvm::pdb::NativeRawSymbol::isReference
bool isReference() const override
Definition: NativeRawSymbol.cpp:660
llvm::pdb::NativeRawSymbol::getAddressOffset
uint32_t getAddressOffset() const override
Definition: NativeRawSymbol.cpp:105
llvm::pdb::NativeRawSymbol::getTargetVirtualAddress
uint64_t getTargetVirtualAddress() const override
Definition: NativeRawSymbol.cpp:302
llvm::pdb::NativeRawSymbol::findInlineeLinesByRVA
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLinesByRVA(uint32_t RVA, uint32_t Length) const override
Definition: NativeRawSymbol.cpp:88
llvm::pdb::NativeRawSymbol::getThunkOrdinal
codeview::ThunkOrdinal getThunkOrdinal() const override
Definition: NativeRawSymbol.cpp:388
llvm::pdb::NativeRawSymbol::getValue
Variant getValue() const override
Definition: NativeRawSymbol.cpp:341
llvm::pdb::PDB_UndnameFlags
PDB_UndnameFlags
These values correspond to the flags that can be combined to control the return of an undecorated nam...
Definition: PDBTypes.h:361
llvm::pdb::NativeRawSymbol::hasOverloadedOperator
bool hasOverloadedOperator() const override
Definition: NativeRawSymbol.cpp:516
llvm::pdb::NativeRawSymbol::hasInterruptReturn
bool hasInterruptReturn() const override
Definition: NativeRawSymbol.cpp:484
llvm::pdb::NativeRawSymbol::getCallingConvention
PDB_CallingConv getCallingConvention() const override
Definition: NativeRawSymbol.cpp:144
llvm::pdb::NativeRawSymbol::getBaseSymbolId
SymIndexId getBaseSymbolId() const override
Definition: NativeRawSymbol.cpp:134
llvm::pdb::NativeRawSymbol::getLibraryName
std::string getLibraryName() const override
Definition: NativeRawSymbol.cpp:175
llvm::pdb::NativeRawSymbol::getTypeId
SymIndexId getTypeId() const override
Definition: NativeRawSymbol.cpp:322
llvm::pdb::NativeRawSymbol::hasFarReturn
bool hasFarReturn() const override
Definition: NativeRawSymbol.cpp:416
llvm::pdb::NativeRawSymbol::isRestrictedType
bool isRestrictedType() const override
Definition: NativeRawSymbol.cpp:664
llvm::codeview::RegisterId
RegisterId
Definition: CodeView.h:517
llvm::pdb::NativeRawSymbol::getBaseDataOffset
uint32_t getBaseDataOffset() const override
Definition: NativeRawSymbol.cpp:126
llvm::pdb::NativeRawSymbol::findChildrenByAddr
std::unique_ptr< IPDBEnumSymbols > findChildrenByAddr(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags, uint32_t Section, uint32_t Offset) const override
Definition: NativeRawSymbol.cpp:43
llvm::pdb::NativeRawSymbol::getSymIndexId
SymIndexId getSymIndexId() const override
Definition: NativeRawSymbol.cpp:292
llvm::pdb::NativeRawSymbol::isHLSLData
bool isHLSLData() const override
Definition: NativeRawSymbol.cpp:572
llvm::pdb::NativeRawSymbol::getLiveRangeLength
uint64_t getLiveRangeLength() const override
Definition: NativeRawSymbol.cpp:396
llvm::codeview::SourceLanguage
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn....
Definition: CodeView.h:146
llvm::pdb::NativeRawSymbol::getUndecoratedNameEx
std::string getUndecoratedNameEx(PDB_UndnameFlags Flags) const override
Definition: NativeRawSymbol.cpp:332
llvm::pdb::NativeRawSymbol::getNumberOfModifiers
uint32_t getNumberOfModifiers() const override
Definition: NativeRawSymbol.cpp:213
llvm::pdb::NativeRawSymbol::getLexicalParentId
SymIndexId getLexicalParentId() const override
Definition: NativeRawSymbol.cpp:173
llvm::pdb::PDB_Machine
PDB_Machine
Definition: PDBTypes.h:125
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:58
llvm::pdb::NativeRawSymbol::findInlineeLinesByVA
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override
Definition: NativeRawSymbol.cpp:93
llvm::pdb::NativeRawSymbol::isMSILNetmodule
bool isMSILNetmodule() const override
Definition: NativeRawSymbol.cpp:600
llvm::pdb::NativeRawSymbol::getArrayIndexTypeId
SymIndexId getArrayIndexTypeId() const override
Definition: NativeRawSymbol.cpp:117
llvm::pdb::NativeRawSymbol::getVirtualTableShapeId
SymIndexId getVirtualTableShapeId() const override
Definition: NativeRawSymbol.cpp:353
llvm::pdb::NativeRawSymbol::getTargetRelativeVirtualAddress
uint32_t getTargetRelativeVirtualAddress() const override
Definition: NativeRawSymbol.cpp:298
uint32_t
llvm::pdb::NativeRawSymbol::isRefUdt
bool isRefUdt() const override
Definition: NativeRawSymbol.cpp:656
llvm::pdb::NativeRawSymbol::isMatrixRowMajor
bool isMatrixRowMajor() const override
Definition: NativeRawSymbol.cpp:604
llvm::pdb::PDB_BuiltinType
PDB_BuiltinType
These values correspond to the Basictype enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:335
llvm::pdb::NativeRawSymbol::getUndecoratedName
std::string getUndecoratedName() const override
Definition: NativeRawSymbol.cpp:328
llvm::pdb::NativeRawSymbol::isNaked
bool isNaked() const override
Definition: NativeRawSymbol.cpp:620
llvm::pdb::NativeRawSymbol::isSplitted
bool isSplitted() const override
Definition: NativeRawSymbol.cpp:688
llvm::pdb::NativeRawSymbol::isPointerBasedOnSymbolValue
bool isPointerBasedOnSymbolValue() const override
Definition: NativeRawSymbol.cpp:636
llvm::pdb::NativeRawSymbol::isVirtualInheritance
bool isVirtualInheritance() const override
Definition: NativeRawSymbol.cpp:720
llvm::pdb::NativeRawSymbol::isCxxReturnUdt
bool isCxxReturnUdt() const override
Definition: NativeRawSymbol.cpp:564
llvm::pdb::NativeRawSymbol::getNumberOfColumns
uint32_t getNumberOfColumns() const override
Definition: NativeRawSymbol.cpp:209
llvm::pdb::NativeRawSymbol::getVirtualBaseDispIndex
uint32_t getVirtualBaseDispIndex() const override
Definition: NativeRawSymbol.cpp:345
llvm::pdb::NativeRawSymbol::getRelativeVirtualAddress
uint32_t getRelativeVirtualAddress() const override
Definition: NativeRawSymbol.cpp:255
llvm::pdb::NativeRawSymbol::hasSecurityChecks
bool hasSecurityChecks() const override
Definition: NativeRawSymbol.cpp:524
llvm::pdb::NativeRawSymbol::isMSILCode
bool isMSILCode() const override
Definition: NativeRawSymbol.cpp:612
llvm::pdb::Variant
Definition: PDBTypes.h:410
llvm::GraphProgram::Name
Name
Definition: GraphWriter.h:52
llvm::pdb::NativeRawSymbol::getRank
uint32_t getRank() const override
Definition: NativeRawSymbol.cpp:243
llvm::pdb::NativeRawSymbol::hasAlloca
bool hasAlloca() const override
Definition: NativeRawSymbol.cpp:448
llvm::pdb::NativeRawSymbol::isAcceleratorGroupSharedLocal
bool isAcceleratorGroupSharedLocal() const override
Definition: NativeRawSymbol.cpp:536
llvm::pdb::NativeRawSymbol::getCount
uint32_t getCount() const override
Definition: NativeRawSymbol.cpp:154
llvm::pdb::NativeRawSymbol::isLTCG
bool isLTCG() const override
Definition: NativeRawSymbol.cpp:592
llvm::pdb::NativeRawSymbol::isSafeBuffers
bool isSafeBuffers() const override
Definition: NativeRawSymbol.cpp:672
llvm::pdb::NativeRawSymbol::isDataAligned
bool isDataAligned() const override
Definition: NativeRawSymbol.cpp:568
llvm::codeview::CPUType
CPUType
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn....
Definition: CodeView.h:78
llvm::pdb::NativeRawSymbol::getTextureSlot
uint32_t getTextureSlot() const override
Definition: NativeRawSymbol.cpp:310
llvm::pdb::NativeRawSymbol::getClassParentId
SymIndexId getClassParentId() const override
Definition: NativeRawSymbol.cpp:148
llvm::pdb::NativeRawSymbol::isUnreached
bool isUnreached() const override
Definition: NativeRawSymbol.cpp:704
llvm::pdb::NativeRawSymbol::dump
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
Definition: NativeRawSymbol.cpp:22
llvm::pdb::NativeRawSymbol::findInlineFramesByRVA
std::unique_ptr< IPDBEnumSymbols > findInlineFramesByRVA(uint32_t RVA) const override
Definition: NativeRawSymbol.cpp:67
llvm::pdb::NativeRawSymbol::findChildrenByRVA
std::unique_ptr< IPDBEnumSymbols > findChildrenByRVA(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags, uint32_t RVA) const override
Definition: NativeRawSymbol.cpp:55
llvm::pdb::NativeRawSymbol::isCVTCIL
bool isCVTCIL() const override
Definition: NativeRawSymbol.cpp:556
llvm::pdb::NativeSession
Definition: NativeSession.h:28
llvm::pdb::NativeRawSymbol::isOptimizedAway
bool isOptimizedAway() const override
Definition: NativeRawSymbol.cpp:628
llvm::pdb::PdbSymbolIdField
PdbSymbolIdField
Definition: IPDBRawSymbol.h:24
llvm::pdb::NativeRawSymbol::getDataBytes
void getDataBytes(SmallVector< uint8_t, 32 > &Bytes) const override
Definition: NativeRawSymbol.cpp:97
llvm::pdb::NativeRawSymbol::hasCustomCallingConvention
bool hasCustomCallingConvention() const override
Definition: NativeRawSymbol.cpp:412
llvm::codeview::ThunkOrdinal
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
Definition: CodeView.h:551
llvm::pdb::PDB_MemberAccess
PDB_MemberAccess
Definition: PDBTypes.h:384
llvm::pdb::NativeRawSymbol::isInterfaceUdt
bool isInterfaceUdt() const override
Definition: NativeRawSymbol.cpp:584
llvm::pdb::NativeRawSymbol::isValueUdt
bool isValueUdt() const override
Definition: NativeRawSymbol.cpp:708
llvm::pdb::NativeRawSymbol::hasCTypes
bool hasCTypes() const override
Definition: NativeRawSymbol.cpp:456
llvm::pdb::NativeRawSymbol::getUavSlot
uint32_t getUavSlot() const override
Definition: NativeRawSymbol.cpp:324
llvm::pdb::NativeRawSymbol::NativeRawSymbol
NativeRawSymbol(NativeSession &PDBSession, PDB_SymType Tag, SymIndexId SymbolId)
Definition: NativeRawSymbol.cpp:18
llvm::pdb::NativeRawSymbol::hasNoReturnAttribute
bool hasNoReturnAttribute() const override
Definition: NativeRawSymbol.cpp:508
llvm::pdb::NativeRawSymbol::isScoped
bool isScoped() const override
Definition: NativeRawSymbol.cpp:676
llvm::pdb::NativeRawSymbol::findChildrenByVA
std::unique_ptr< IPDBEnumSymbols > findChildrenByVA(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags, uint64_t VA) const override
Definition: NativeRawSymbol.cpp:49
llvm::pdb::NativeRawSymbol::getLiveRangeStartAddressOffset
uint32_t getLiveRangeStartAddressOffset() const override
Definition: NativeRawSymbol.cpp:179
llvm::pdb::NativeRawSymbol::Tag
PDB_SymType Tag
Definition: NativeRawSymbol.h:233
llvm::codeview::CallingConvention
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
Definition: CodeView.h:176
llvm::pdb::NativeRawSymbol::findChildren
std::unique_ptr< IPDBEnumSymbols > findChildren(PDB_SymType Type) const override
Definition: NativeRawSymbol.cpp:32
llvm::pdb::NativeRawSymbol::getTimeStamp
uint32_t getTimeStamp() const override
Definition: NativeRawSymbol.cpp:314
llvm::pdb::NativeRawSymbol::isConstructorVirtualBase
bool isConstructorVirtualBase() const override
Definition: NativeRawSymbol.cpp:560
llvm::pdb::NativeRawSymbol::getUnmodifiedTypeId
SymIndexId getUnmodifiedTypeId() const override
Definition: NativeRawSymbol.cpp:337
llvm::pdb::NativeRawSymbol::SymbolId
SymIndexId SymbolId
Definition: NativeRawSymbol.h:234
llvm::pdb::NativeRawSymbol::Session
NativeSession & Session
Definition: NativeRawSymbol.h:232
llvm::pdb::NativeRawSymbol::hasSetJump
bool hasSetJump() const override
Definition: NativeRawSymbol.cpp:528
llvm::pdb::NativeRawSymbol::getOffset
int32_t getOffset() const override
Definition: NativeRawSymbol.cpp:368
llvm::pdb::NativeRawSymbol::isManagedCode
bool isManagedCode() const override
Definition: NativeRawSymbol.cpp:608
llvm::pdb::NativeRawSymbol::getPlatform
PDB_Cpu getPlatform() const override
Definition: NativeRawSymbol.cpp:239
llvm::pdb::NativeRawSymbol::getGuid
codeview::GUID getGuid() const override
Definition: NativeRawSymbol.cpp:366
llvm::pdb::IPDBRawSymbol
IPDBRawSymbol defines an interface used to represent an arbitrary symbol.
Definition: IPDBRawSymbol.h:45
llvm::pdb::NativeRawSymbol::getObjectFileName
std::string getObjectFileName() const override
Definition: NativeRawSymbol.cpp:225
llvm::pdb::NativeRawSymbol::isReturnValue
bool isReturnValue() const override
Definition: NativeRawSymbol.cpp:668
llvm::pdb::NativeRawSymbol::getAge
uint32_t getAge() const override
Definition: NativeRawSymbol.cpp:113
llvm::pdb::NativeRawSymbol::getNoStackOrdering
bool getNoStackOrdering() const override
Definition: NativeRawSymbol.cpp:444
llvm::pdb::NativeRawSymbol::getTargetSection
uint32_t getTargetSection() const override
Definition: NativeRawSymbol.cpp:306
llvm::pdb::NativeRawSymbol::hasLongJump
bool hasLongJump() const override
Definition: NativeRawSymbol.cpp:492
llvm::pdb::NativeRawSymbol::getName
std::string getName() const override
Definition: NativeRawSymbol.cpp:201
llvm::pdb::NativeRawSymbol
Definition: NativeRawSymbol.h:21
llvm::pdb::NativeRawSymbol::getBuiltinType
PDB_BuiltinType getBuiltinType() const override
Definition: NativeRawSymbol.cpp:136
llvm::pdb::NativeRawSymbol::hasFramePointer
bool hasFramePointer() const override
Definition: NativeRawSymbol.cpp:488
llvm::pdb::NativeRawSymbol::getCompilerName
std::string getCompilerName() const override
Definition: NativeRawSymbol.cpp:150
llvm::pdb::NativeRawSymbol::isEditAndContinueEnabled
bool isEditAndContinueEnabled() const override
Definition: NativeRawSymbol.cpp:432
llvm::pdb::NativeRawSymbol::hasNestedTypes
bool hasNestedTypes() const override
Definition: NativeRawSymbol.cpp:500