10 #ifndef LLVM_DEBUGINFO_PDB_IPDBRAWSYMBOL_H 11 #define LLVM_DEBUGINFO_PDB_IPDBRAWSYMBOL_H 26 class PDBSymbolTypeVTable;
27 class PDBSymbolTypeVTableShape;
57 virtual std::unique_ptr<IPDBEnumSymbols>
60 virtual std::unique_ptr<IPDBEnumSymbols>
63 virtual std::unique_ptr<IPDBEnumSymbols>
67 virtual std::unique_ptr<IPDBEnumSymbols>
69 uint64_t VA)
const = 0;
70 virtual std::unique_ptr<IPDBEnumSymbols>
74 virtual std::unique_ptr<IPDBEnumSymbols>
76 virtual std::unique_ptr<IPDBEnumSymbols>
77 findInlineFramesByRVA(
uint32_t RVA)
const = 0;
78 virtual std::unique_ptr<IPDBEnumSymbols>
79 findInlineFramesByVA(uint64_t VA)
const = 0;
81 virtual std::unique_ptr<IPDBEnumLineNumbers> findInlineeLines()
const = 0;
82 virtual std::unique_ptr<IPDBEnumLineNumbers>
85 virtual std::unique_ptr<IPDBEnumLineNumbers>
87 virtual std::unique_ptr<IPDBEnumLineNumbers>
88 findInlineeLinesByVA(uint64_t VA,
uint32_t Length)
const = 0;
93 virtual uint32_t getAddressOffset()
const = 0;
94 virtual uint32_t getAddressSection()
const = 0;
96 virtual SymIndexId getArrayIndexTypeId()
const = 0;
97 virtual uint32_t getBaseDataOffset()
const = 0;
98 virtual uint32_t getBaseDataSlot()
const = 0;
99 virtual SymIndexId getBaseSymbolId()
const = 0;
101 virtual uint32_t getBitPosition()
const = 0;
103 virtual SymIndexId getClassParentId()
const = 0;
104 virtual std::string getCompilerName()
const = 0;
105 virtual uint32_t getCount()
const = 0;
106 virtual uint32_t getCountLiveRanges()
const = 0;
107 virtual void getFrontEndVersion(
VersionInfo &Version)
const = 0;
109 virtual SymIndexId getLexicalParentId()
const = 0;
110 virtual std::string getLibraryName()
const = 0;
111 virtual uint32_t getLiveRangeStartAddressOffset()
const = 0;
112 virtual uint32_t getLiveRangeStartAddressSection()
const = 0;
113 virtual uint32_t getLiveRangeStartRelativeVirtualAddress()
const = 0;
115 virtual SymIndexId getLowerBoundId()
const = 0;
116 virtual uint32_t getMemorySpaceKind()
const = 0;
117 virtual std::string
getName()
const = 0;
118 virtual uint32_t getNumberOfAcceleratorPointerTags()
const = 0;
119 virtual uint32_t getNumberOfColumns()
const = 0;
120 virtual uint32_t getNumberOfModifiers()
const = 0;
121 virtual uint32_t getNumberOfRegisterIndices()
const = 0;
122 virtual uint32_t getNumberOfRows()
const = 0;
123 virtual std::string getObjectFileName()
const = 0;
124 virtual uint32_t getOemId()
const = 0;
125 virtual SymIndexId getOemSymbolId()
const = 0;
126 virtual uint32_t getOffsetInUdt()
const = 0;
127 virtual PDB_Cpu getPlatform()
const = 0;
128 virtual uint32_t getRank()
const = 0;
130 virtual uint32_t getRegisterType()
const = 0;
131 virtual uint32_t getRelativeVirtualAddress()
const = 0;
132 virtual uint32_t getSamplerSlot()
const = 0;
134 virtual uint32_t getSizeInUdt()
const = 0;
135 virtual uint32_t getSlot()
const = 0;
136 virtual std::string getSourceFileName()
const = 0;
137 virtual std::unique_ptr<IPDBLineNumber>
138 getSrcLineOnTypeDefn()
const = 0;
139 virtual uint32_t getStride()
const = 0;
141 virtual std::string getSymbolsFileName()
const = 0;
143 virtual uint32_t getTargetOffset()
const = 0;
144 virtual uint32_t getTargetRelativeVirtualAddress()
const = 0;
145 virtual uint64_t getTargetVirtualAddress()
const = 0;
146 virtual uint32_t getTargetSection()
const = 0;
147 virtual uint32_t getTextureSlot()
const = 0;
148 virtual uint32_t getTimeStamp()
const = 0;
151 virtual uint32_t getUavSlot()
const = 0;
152 virtual std::string getUndecoratedName()
const = 0;
154 virtual SymIndexId getUnmodifiedTypeId()
const = 0;
155 virtual SymIndexId getUpperBoundId()
const = 0;
156 virtual Variant getValue()
const = 0;
157 virtual uint32_t getVirtualBaseDispIndex()
const = 0;
158 virtual uint32_t getVirtualBaseOffset()
const = 0;
159 virtual std::unique_ptr<PDBSymbolTypeBuiltin>
160 getVirtualBaseTableType()
const = 0;
161 virtual SymIndexId getVirtualTableShapeId()
const = 0;
166 virtual int32_t getThisAdjust()
const = 0;
167 virtual int32_t getVirtualBasePointerOffset()
const = 0;
171 virtual uint64_t getLength()
const = 0;
172 virtual uint64_t getLiveRangeLength()
const = 0;
173 virtual uint64_t getVirtualAddress()
const = 0;
175 virtual bool hasConstructor()
const = 0;
176 virtual bool hasCustomCallingConvention()
const = 0;
177 virtual bool hasFarReturn()
const = 0;
178 virtual bool isCode()
const = 0;
179 virtual bool isCompilerGenerated()
const = 0;
180 virtual bool isConstType()
const = 0;
181 virtual bool isEditAndContinueEnabled()
const = 0;
182 virtual bool isFunction()
const = 0;
183 virtual bool getAddressTaken()
const = 0;
184 virtual bool getNoStackOrdering()
const = 0;
185 virtual bool hasAlloca()
const = 0;
186 virtual bool hasAssignmentOperator()
const = 0;
187 virtual bool hasCTypes()
const = 0;
188 virtual bool hasCastOperator()
const = 0;
190 virtual bool hasEH()
const = 0;
191 virtual bool hasEHa()
const = 0;
192 virtual bool hasFramePointer()
const = 0;
193 virtual bool hasInlAsm()
const = 0;
194 virtual bool hasInlineAttribute()
const = 0;
195 virtual bool hasInterruptReturn()
const = 0;
196 virtual bool hasLongJump()
const = 0;
197 virtual bool hasManagedCode()
const = 0;
198 virtual bool hasNestedTypes()
const = 0;
199 virtual bool hasNoInlineAttribute()
const = 0;
200 virtual bool hasNoReturnAttribute()
const = 0;
201 virtual bool hasOptimizedCodeDebugInfo()
const = 0;
202 virtual bool hasOverloadedOperator()
const = 0;
203 virtual bool hasSEH()
const = 0;
204 virtual bool hasSecurityChecks()
const = 0;
205 virtual bool hasSetJump()
const = 0;
206 virtual bool hasStrictGSCheck()
const = 0;
207 virtual bool isAcceleratorGroupSharedLocal()
const = 0;
208 virtual bool isAcceleratorPointerTagLiveRange()
const = 0;
209 virtual bool isAcceleratorStubFunction()
const = 0;
210 virtual bool isAggregated()
const = 0;
211 virtual bool isIntroVirtualFunction()
const = 0;
212 virtual bool isCVTCIL()
const = 0;
213 virtual bool isConstructorVirtualBase()
const = 0;
214 virtual bool isCxxReturnUdt()
const = 0;
215 virtual bool isDataAligned()
const = 0;
216 virtual bool isHLSLData()
const = 0;
217 virtual bool isHotpatchable()
const = 0;
218 virtual bool isIndirectVirtualBaseClass()
const = 0;
219 virtual bool isInterfaceUdt()
const = 0;
220 virtual bool isIntrinsic()
const = 0;
221 virtual bool isLTCG()
const = 0;
222 virtual bool isLocationControlFlowDependent()
const = 0;
223 virtual bool isMSILNetmodule()
const = 0;
224 virtual bool isMatrixRowMajor()
const = 0;
225 virtual bool isManagedCode()
const = 0;
226 virtual bool isMSILCode()
const = 0;
227 virtual bool isMultipleInheritance()
const = 0;
228 virtual bool isNaked()
const = 0;
229 virtual bool isNested()
const = 0;
230 virtual bool isOptimizedAway()
const = 0;
231 virtual bool isPacked()
const = 0;
232 virtual bool isPointerBasedOnSymbolValue()
const = 0;
233 virtual bool isPointerToDataMember()
const = 0;
234 virtual bool isPointerToMemberFunction()
const = 0;
235 virtual bool isPureVirtual()
const = 0;
236 virtual bool isRValueReference()
const = 0;
237 virtual bool isRefUdt()
const = 0;
238 virtual bool isReference()
const = 0;
239 virtual bool isRestrictedType()
const = 0;
240 virtual bool isReturnValue()
const = 0;
241 virtual bool isSafeBuffers()
const = 0;
242 virtual bool isScoped()
const = 0;
243 virtual bool isSdl()
const = 0;
244 virtual bool isSingleInheritance()
const = 0;
245 virtual bool isSplitted()
const = 0;
246 virtual bool isStatic()
const = 0;
247 virtual bool hasPrivateSymbols()
const = 0;
248 virtual bool isUnalignedType()
const = 0;
249 virtual bool isUnreached()
const = 0;
250 virtual bool isValueUdt()
const = 0;
251 virtual bool isVirtual()
const = 0;
252 virtual bool isVirtualBaseClass()
const = 0;
253 virtual bool isVirtualInheritance()
const = 0;
254 virtual bool isVolatileType()
const = 0;
255 virtual bool wasInlined()
const = 0;
256 virtual std::string getUnused()
const = 0;
#define LLVM_MARK_AS_BITMASK_ENUM(LargestValue)
LLVM_MARK_AS_BITMASK_ENUM lets you opt in an individual enum type so you can perform bitwise operatio...
IPDBSession defines an interface used to provide a context for querying debug information from a debu...
This class represents lattice values for constants.
PDB_UdtType
These values correspond to the UdtKind enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/wcstk66t.aspx.
PDB_NameSearchFlags
Defines flags used for enumerating child symbols.
amdgpu Simplify well known AMD library false Value Value const Twine & Name
static StringRef getName(Value *V)
This represents the 'GUID' type from windows.h.
std::pair< StringRef, StringRef > getToken(StringRef Source, StringRef Delimiters=" \\\)
getToken - This function extracts one token from source, ignoring any leading characters that appear ...
static Error getOffset(const SymbolRef &Sym, SectionRef Sec, uint64_t &Result)
PDB_UndnameFlags
These values correspond to the flags that can be combined to control the return of an undecorated nam...
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bkedss5f.aspx.
void dump(const SparseBitVector< ElementSize > &LHS, raw_ostream &out)
The instances of the Type class are immutable: once they are created, they are never changed...
unsigned getCallingConvention(StringRef LanguageString)
LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE()
PDB_DataKind
These values correspond to the DataKind enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2x2t313.aspx.
IPDBRawSymbol defines an interface used to represent an arbitrary symbol.
void dumpSymbolIdField(raw_ostream &OS, StringRef Name, SymIndexId Value, int Indent, const IPDBSession &Session, PdbSymbolIdField FieldId, PdbSymbolIdField ShowFlags, PdbSymbolIdField RecurseFlags)
unsigned getLanguage(StringRef LanguageString)
PDB_LocType
These values correspond to the LocationType enumeration, and are documented here: https://msdn...
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bw3aekw6.aspx.
static bool hasDebugInfo(const MachineModuleInfo *MMI, const MachineFunction *MF)
CPUType
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn...
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
PDB_BuiltinType
These values correspond to the Basictype enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/4szdtzc3.aspx.
LLVM Value Representation.
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
This class implements an extremely fast bulk output stream that can only output to a stream...
StringRef - Represent a constant reference to a string, i.e.
static std::string getSignature(FunctionType *FTy)