blob: e36d5343a41c0e0eb3e2a3e1998b0465dc3d18f4 [file] [log] [blame]
Eugene Zelenko4fcfc192017-06-30 23:06:03 +00001//===- NativeRawSymbol.cpp - Native implementation of IPDBRawSymbol -------===//
Adrian McCarthy0beb3322017-02-09 21:51:19 +00002//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "llvm/DebugInfo/PDB/Native/NativeRawSymbol.h"
Zachary Turnerda4b63a2018-09-07 23:21:33 +000011#include "llvm/DebugInfo/PDB/IPDBLineNumber.h"
Zachary Turner16901642017-04-24 17:47:24 +000012#include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
Zachary Turnerda4b63a2018-09-07 23:21:33 +000013#include "llvm/Support/FormatVariadic.h"
Adrian McCarthy0beb3322017-02-09 21:51:19 +000014
15using namespace llvm;
16using namespace llvm::pdb;
17
Zachary Turner7999b4f2018-09-05 23:30:38 +000018NativeRawSymbol::NativeRawSymbol(NativeSession &PDBSession, PDB_SymType Tag,
19 SymIndexId SymbolId)
20 : Session(PDBSession), Tag(Tag), SymbolId(SymbolId) {}
Adrian McCarthy0beb3322017-02-09 21:51:19 +000021
Zachary Turnerda4b63a2018-09-07 23:21:33 +000022void NativeRawSymbol::dump(raw_ostream &OS, int Indent) const {
23 dumpSymbolField(OS, "symIndexId", SymbolId, Indent);
24 dumpSymbolField(OS, "symTag", static_cast<uint32_t>(Tag), Indent);
25}
Adrian McCarthy0beb3322017-02-09 21:51:19 +000026
27std::unique_ptr<IPDBEnumSymbols>
28NativeRawSymbol::findChildren(PDB_SymType Type) const {
29 return nullptr;
30}
31
32std::unique_ptr<IPDBEnumSymbols>
33NativeRawSymbol::findChildren(PDB_SymType Type, StringRef Name,
34 PDB_NameSearchFlags Flags) const {
35 return nullptr;
36}
37
38std::unique_ptr<IPDBEnumSymbols>
Aaron Smithfbe65402018-02-22 19:47:43 +000039NativeRawSymbol::findChildrenByAddr(PDB_SymType Type, StringRef Name,
40 PDB_NameSearchFlags Flags, uint32_t Section, uint32_t Offset) const {
41 return nullptr;
42}
43
44std::unique_ptr<IPDBEnumSymbols>
45NativeRawSymbol::findChildrenByVA(PDB_SymType Type, StringRef Name,
46 PDB_NameSearchFlags Flags, uint64_t VA) const {
47 return nullptr;
48}
49
50std::unique_ptr<IPDBEnumSymbols>
Adrian McCarthy0beb3322017-02-09 21:51:19 +000051NativeRawSymbol::findChildrenByRVA(PDB_SymType Type, StringRef Name,
52 PDB_NameSearchFlags Flags, uint32_t RVA) const {
53 return nullptr;
54}
55
56std::unique_ptr<IPDBEnumSymbols>
Aaron Smithfbe65402018-02-22 19:47:43 +000057NativeRawSymbol::findInlineFramesByAddr(uint32_t Section,
58 uint32_t Offset) const {
59 return nullptr;
60}
61
62std::unique_ptr<IPDBEnumSymbols>
Adrian McCarthy0beb3322017-02-09 21:51:19 +000063NativeRawSymbol::findInlineFramesByRVA(uint32_t RVA) const {
64 return nullptr;
65}
66
Aaron Smithfbe65402018-02-22 19:47:43 +000067std::unique_ptr<IPDBEnumSymbols>
68NativeRawSymbol::findInlineFramesByVA(uint64_t VA) const {
69 return nullptr;
70}
71
72std::unique_ptr<IPDBEnumLineNumbers>
73NativeRawSymbol::findInlineeLines() const {
74 return nullptr;
75}
76
77std::unique_ptr<IPDBEnumLineNumbers>
78NativeRawSymbol::findInlineeLinesByAddr(uint32_t Section, uint32_t Offset,
79 uint32_t Length) const {
80 return nullptr;
81}
82
83std::unique_ptr<IPDBEnumLineNumbers>
84NativeRawSymbol::findInlineeLinesByRVA(uint32_t RVA, uint32_t Length) const {
85 return nullptr;
86}
87
88std::unique_ptr<IPDBEnumLineNumbers>
89NativeRawSymbol::findInlineeLinesByVA(uint64_t VA, uint32_t Length) const {
90 return nullptr;
91}
92
Eugene Zelenko4fcfc192017-06-30 23:06:03 +000093void NativeRawSymbol::getDataBytes(SmallVector<uint8_t, 32> &bytes) const {
Adrian McCarthy0beb3322017-02-09 21:51:19 +000094 bytes.clear();
95}
96
97PDB_MemberAccess NativeRawSymbol::getAccess() const {
98 return PDB_MemberAccess::Private;
99}
100
101uint32_t NativeRawSymbol::getAddressOffset() const {
102 return 0;
103}
104
105uint32_t NativeRawSymbol::getAddressSection() const {
106 return 0;
107}
108
109uint32_t NativeRawSymbol::getAge() const {
110 return 0;
111}
112
Zachary Turnercae734582018-09-10 21:30:59 +0000113SymIndexId NativeRawSymbol::getArrayIndexTypeId() const { return 0; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000114
115void NativeRawSymbol::getBackEndVersion(VersionInfo &Version) const {
116 Version.Major = 0;
117 Version.Minor = 0;
118 Version.Build = 0;
119 Version.QFE = 0;
120}
121
122uint32_t NativeRawSymbol::getBaseDataOffset() const {
123 return 0;
124}
125
126uint32_t NativeRawSymbol::getBaseDataSlot() const {
127 return 0;
128}
129
Zachary Turnercae734582018-09-10 21:30:59 +0000130SymIndexId NativeRawSymbol::getBaseSymbolId() const { return 0; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000131
132PDB_BuiltinType NativeRawSymbol::getBuiltinType() const {
133 return PDB_BuiltinType::None;
134}
135
136uint32_t NativeRawSymbol::getBitPosition() const {
137 return 0;
138}
139
140PDB_CallingConv NativeRawSymbol::getCallingConvention() const {
141 return PDB_CallingConv::FarStdCall;
142}
143
Zachary Turnercae734582018-09-10 21:30:59 +0000144SymIndexId NativeRawSymbol::getClassParentId() const { return 0; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000145
146std::string NativeRawSymbol::getCompilerName() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000147 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000148}
149
150uint32_t NativeRawSymbol::getCount() const {
151 return 0;
152}
153
154uint32_t NativeRawSymbol::getCountLiveRanges() const {
155 return 0;
156}
157
158void NativeRawSymbol::getFrontEndVersion(VersionInfo &Version) const {
159 Version.Major = 0;
160 Version.Minor = 0;
161 Version.Build = 0;
162 Version.QFE = 0;
163}
164
165PDB_Lang NativeRawSymbol::getLanguage() const {
166 return PDB_Lang::Cobol;
167}
168
Zachary Turnercae734582018-09-10 21:30:59 +0000169SymIndexId NativeRawSymbol::getLexicalParentId() const { return 0; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000170
171std::string NativeRawSymbol::getLibraryName() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000172 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000173}
174
175uint32_t NativeRawSymbol::getLiveRangeStartAddressOffset() const {
176 return 0;
177}
178
179uint32_t NativeRawSymbol::getLiveRangeStartAddressSection() const {
180 return 0;
181}
182
183uint32_t NativeRawSymbol::getLiveRangeStartRelativeVirtualAddress() const {
184 return 0;
185}
186
187codeview::RegisterId NativeRawSymbol::getLocalBasePointerRegisterId() const {
Reid Klecknerbd5d7122018-08-16 17:34:31 +0000188 return codeview::RegisterId::EAX;
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000189}
190
Zachary Turnercae734582018-09-10 21:30:59 +0000191SymIndexId NativeRawSymbol::getLowerBoundId() const { return 0; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000192
193uint32_t NativeRawSymbol::getMemorySpaceKind() const {
194 return 0;
195}
196
197std::string NativeRawSymbol::getName() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000198 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000199}
200
201uint32_t NativeRawSymbol::getNumberOfAcceleratorPointerTags() const {
202 return 0;
203}
204
205uint32_t NativeRawSymbol::getNumberOfColumns() const {
206 return 0;
207}
208
209uint32_t NativeRawSymbol::getNumberOfModifiers() const {
210 return 0;
211}
212
213uint32_t NativeRawSymbol::getNumberOfRegisterIndices() const {
214 return 0;
215}
216
217uint32_t NativeRawSymbol::getNumberOfRows() const {
218 return 0;
219}
220
221std::string NativeRawSymbol::getObjectFileName() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000222 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000223}
224
225uint32_t NativeRawSymbol::getOemId() const {
226 return 0;
227}
228
Zachary Turnercae734582018-09-10 21:30:59 +0000229SymIndexId NativeRawSymbol::getOemSymbolId() const { return 0; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000230
231uint32_t NativeRawSymbol::getOffsetInUdt() const {
232 return 0;
233}
234
235PDB_Cpu NativeRawSymbol::getPlatform() const {
236 return PDB_Cpu::Intel8080;
237}
238
239uint32_t NativeRawSymbol::getRank() const {
240 return 0;
241}
242
243codeview::RegisterId NativeRawSymbol::getRegisterId() const {
Reid Klecknerbd5d7122018-08-16 17:34:31 +0000244 return codeview::RegisterId::EAX;
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000245}
246
247uint32_t NativeRawSymbol::getRegisterType() const {
248 return 0;
249}
250
251uint32_t NativeRawSymbol::getRelativeVirtualAddress() const {
252 return 0;
253}
254
255uint32_t NativeRawSymbol::getSamplerSlot() const {
256 return 0;
257}
258
259uint32_t NativeRawSymbol::getSignature() const {
260 return 0;
261}
262
263uint32_t NativeRawSymbol::getSizeInUdt() const {
264 return 0;
265}
266
267uint32_t NativeRawSymbol::getSlot() const {
268 return 0;
269}
270
271std::string NativeRawSymbol::getSourceFileName() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000272 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000273}
274
Aaron Smith25409dd2018-03-07 00:33:09 +0000275std::unique_ptr<IPDBLineNumber>
276NativeRawSymbol::getSrcLineOnTypeDefn() const {
277 return nullptr;
278}
279
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000280uint32_t NativeRawSymbol::getStride() const {
281 return 0;
282}
283
Zachary Turnercae734582018-09-10 21:30:59 +0000284SymIndexId NativeRawSymbol::getSubTypeId() const { return 0; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000285
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000286std::string NativeRawSymbol::getSymbolsFileName() const { return {}; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000287
Zachary Turnercae734582018-09-10 21:30:59 +0000288SymIndexId NativeRawSymbol::getSymIndexId() const { return SymbolId; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000289
290uint32_t NativeRawSymbol::getTargetOffset() const {
291 return 0;
292}
293
294uint32_t NativeRawSymbol::getTargetRelativeVirtualAddress() const {
295 return 0;
296}
297
298uint64_t NativeRawSymbol::getTargetVirtualAddress() const {
299 return 0;
300}
301
302uint32_t NativeRawSymbol::getTargetSection() const {
303 return 0;
304}
305
306uint32_t NativeRawSymbol::getTextureSlot() const {
307 return 0;
308}
309
310uint32_t NativeRawSymbol::getTimeStamp() const {
311 return 0;
312}
313
314uint32_t NativeRawSymbol::getToken() const {
315 return 0;
316}
317
Zachary Turnercae734582018-09-10 21:30:59 +0000318SymIndexId NativeRawSymbol::getTypeId() const { return 0; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000319
320uint32_t NativeRawSymbol::getUavSlot() const {
321 return 0;
322}
323
324std::string NativeRawSymbol::getUndecoratedName() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000325 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000326}
327
Aaron Smith89bca9e2017-11-16 14:33:09 +0000328std::string NativeRawSymbol::getUndecoratedNameEx(
329 PDB_UndnameFlags Flags) const {
330 return {};
331}
332
Zachary Turnercae734582018-09-10 21:30:59 +0000333SymIndexId NativeRawSymbol::getUnmodifiedTypeId() const { return 0; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000334
Zachary Turnercae734582018-09-10 21:30:59 +0000335SymIndexId NativeRawSymbol::getUpperBoundId() const { return 0; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000336
337Variant NativeRawSymbol::getValue() const {
338 return Variant();
339}
340
341uint32_t NativeRawSymbol::getVirtualBaseDispIndex() const {
342 return 0;
343}
344
345uint32_t NativeRawSymbol::getVirtualBaseOffset() const {
346 return 0;
347}
348
Zachary Turnercae734582018-09-10 21:30:59 +0000349SymIndexId NativeRawSymbol::getVirtualTableShapeId() const { return 0; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000350
Zachary Turner16901642017-04-24 17:47:24 +0000351std::unique_ptr<PDBSymbolTypeBuiltin>
Zachary Turnerc883a8c2017-04-12 23:18:21 +0000352NativeRawSymbol::getVirtualBaseTableType() const {
353 return nullptr;
354}
355
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000356PDB_DataKind NativeRawSymbol::getDataKind() const {
357 return PDB_DataKind::Unknown;
358}
359
Zachary Turner7999b4f2018-09-05 23:30:38 +0000360PDB_SymType NativeRawSymbol::getSymTag() const { return Tag; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000361
Reid Kleckner67653ee2017-07-17 23:59:44 +0000362codeview::GUID NativeRawSymbol::getGuid() const { return codeview::GUID{{0}}; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000363
364int32_t NativeRawSymbol::getOffset() const {
365 return 0;
366}
367
368int32_t NativeRawSymbol::getThisAdjust() const {
369 return 0;
370}
371
372int32_t NativeRawSymbol::getVirtualBasePointerOffset() const {
373 return 0;
374}
375
376PDB_LocType NativeRawSymbol::getLocationType() const {
377 return PDB_LocType::Null;
378}
379
380PDB_Machine NativeRawSymbol::getMachineType() const {
381 return PDB_Machine::Invalid;
382}
383
384codeview::ThunkOrdinal NativeRawSymbol::getThunkOrdinal() const {
385 return codeview::ThunkOrdinal::Standard;
386}
387
388uint64_t NativeRawSymbol::getLength() const {
389 return 0;
390}
391
392uint64_t NativeRawSymbol::getLiveRangeLength() const {
393 return 0;
394}
395
396uint64_t NativeRawSymbol::getVirtualAddress() const {
397 return 0;
398}
399
400PDB_UdtType NativeRawSymbol::getUdtKind() const {
401 return PDB_UdtType::Struct;
402}
403
404bool NativeRawSymbol::hasConstructor() const {
405 return false;
406}
407
408bool NativeRawSymbol::hasCustomCallingConvention() const {
409 return false;
410}
411
412bool NativeRawSymbol::hasFarReturn() const {
413 return false;
414}
415
416bool NativeRawSymbol::isCode() const {
417 return false;
418}
419
420bool NativeRawSymbol::isCompilerGenerated() const {
421 return false;
422}
423
424bool NativeRawSymbol::isConstType() const {
425 return false;
426}
427
428bool NativeRawSymbol::isEditAndContinueEnabled() const {
429 return false;
430}
431
432bool NativeRawSymbol::isFunction() const {
433 return false;
434}
435
436bool NativeRawSymbol::getAddressTaken() const {
437 return false;
438}
439
440bool NativeRawSymbol::getNoStackOrdering() const {
441 return false;
442}
443
444bool NativeRawSymbol::hasAlloca() const {
445 return false;
446}
447
448bool NativeRawSymbol::hasAssignmentOperator() const {
449 return false;
450}
451
452bool NativeRawSymbol::hasCTypes() const {
453 return false;
454}
455
456bool NativeRawSymbol::hasCastOperator() const {
457 return false;
458}
459
460bool NativeRawSymbol::hasDebugInfo() const {
461 return false;
462}
463
464bool NativeRawSymbol::hasEH() const {
465 return false;
466}
467
468bool NativeRawSymbol::hasEHa() const {
469 return false;
470}
471
472bool NativeRawSymbol::hasInlAsm() const {
473 return false;
474}
475
476bool NativeRawSymbol::hasInlineAttribute() const {
477 return false;
478}
479
480bool NativeRawSymbol::hasInterruptReturn() const {
481 return false;
482}
483
484bool NativeRawSymbol::hasFramePointer() const {
485 return false;
486}
487
488bool NativeRawSymbol::hasLongJump() const {
489 return false;
490}
491
492bool NativeRawSymbol::hasManagedCode() const {
493 return false;
494}
495
496bool NativeRawSymbol::hasNestedTypes() const {
497 return false;
498}
499
500bool NativeRawSymbol::hasNoInlineAttribute() const {
501 return false;
502}
503
504bool NativeRawSymbol::hasNoReturnAttribute() const {
505 return false;
506}
507
508bool NativeRawSymbol::hasOptimizedCodeDebugInfo() const {
509 return false;
510}
511
512bool NativeRawSymbol::hasOverloadedOperator() const {
513 return false;
514}
515
516bool NativeRawSymbol::hasSEH() const {
517 return false;
518}
519
520bool NativeRawSymbol::hasSecurityChecks() const {
521 return false;
522}
523
524bool NativeRawSymbol::hasSetJump() const {
525 return false;
526}
527
528bool NativeRawSymbol::hasStrictGSCheck() const {
529 return false;
530}
531
532bool NativeRawSymbol::isAcceleratorGroupSharedLocal() const {
533 return false;
534}
535
536bool NativeRawSymbol::isAcceleratorPointerTagLiveRange() const {
537 return false;
538}
539
540bool NativeRawSymbol::isAcceleratorStubFunction() const {
541 return false;
542}
543
544bool NativeRawSymbol::isAggregated() const {
545 return false;
546}
547
548bool NativeRawSymbol::isIntroVirtualFunction() const {
549 return false;
550}
551
552bool NativeRawSymbol::isCVTCIL() const {
553 return false;
554}
555
556bool NativeRawSymbol::isConstructorVirtualBase() const {
557 return false;
558}
559
560bool NativeRawSymbol::isCxxReturnUdt() const {
561 return false;
562}
563
564bool NativeRawSymbol::isDataAligned() const {
565 return false;
566}
567
568bool NativeRawSymbol::isHLSLData() const {
569 return false;
570}
571
572bool NativeRawSymbol::isHotpatchable() const {
573 return false;
574}
575
576bool NativeRawSymbol::isIndirectVirtualBaseClass() const {
577 return false;
578}
579
580bool NativeRawSymbol::isInterfaceUdt() const {
581 return false;
582}
583
584bool NativeRawSymbol::isIntrinsic() const {
585 return false;
586}
587
588bool NativeRawSymbol::isLTCG() const {
589 return false;
590}
591
592bool NativeRawSymbol::isLocationControlFlowDependent() const {
593 return false;
594}
595
596bool NativeRawSymbol::isMSILNetmodule() const {
597 return false;
598}
599
600bool NativeRawSymbol::isMatrixRowMajor() const {
601 return false;
602}
603
604bool NativeRawSymbol::isManagedCode() const {
605 return false;
606}
607
608bool NativeRawSymbol::isMSILCode() const {
609 return false;
610}
611
612bool NativeRawSymbol::isMultipleInheritance() const {
613 return false;
614}
615
616bool NativeRawSymbol::isNaked() const {
617 return false;
618}
619
620bool NativeRawSymbol::isNested() const {
621 return false;
622}
623
624bool NativeRawSymbol::isOptimizedAway() const {
625 return false;
626}
627
628bool NativeRawSymbol::isPacked() const {
629 return false;
630}
631
632bool NativeRawSymbol::isPointerBasedOnSymbolValue() const {
633 return false;
634}
635
636bool NativeRawSymbol::isPointerToDataMember() const {
637 return false;
638}
639
640bool NativeRawSymbol::isPointerToMemberFunction() const {
641 return false;
642}
643
644bool NativeRawSymbol::isPureVirtual() const {
645 return false;
646}
647
648bool NativeRawSymbol::isRValueReference() const {
649 return false;
650}
651
652bool NativeRawSymbol::isRefUdt() const {
653 return false;
654}
655
656bool NativeRawSymbol::isReference() const {
657 return false;
658}
659
660bool NativeRawSymbol::isRestrictedType() const {
661 return false;
662}
663
664bool NativeRawSymbol::isReturnValue() const {
665 return false;
666}
667
668bool NativeRawSymbol::isSafeBuffers() const {
669 return false;
670}
671
672bool NativeRawSymbol::isScoped() const {
673 return false;
674}
675
676bool NativeRawSymbol::isSdl() const {
677 return false;
678}
679
680bool NativeRawSymbol::isSingleInheritance() const {
681 return false;
682}
683
684bool NativeRawSymbol::isSplitted() const {
685 return false;
686}
687
688bool NativeRawSymbol::isStatic() const {
689 return false;
690}
691
692bool NativeRawSymbol::hasPrivateSymbols() const {
693 return false;
694}
695
696bool NativeRawSymbol::isUnalignedType() const {
697 return false;
698}
699
700bool NativeRawSymbol::isUnreached() const {
701 return false;
702}
703
704bool NativeRawSymbol::isValueUdt() const {
705 return false;
706}
707
708bool NativeRawSymbol::isVirtual() const {
709 return false;
710}
711
712bool NativeRawSymbol::isVirtualBaseClass() const {
713 return false;
714}
715
716bool NativeRawSymbol::isVirtualInheritance() const {
717 return false;
718}
719
720bool NativeRawSymbol::isVolatileType() const {
721 return false;
722}
723
724bool NativeRawSymbol::wasInlined() const {
725 return false;
726}
727
728std::string NativeRawSymbol::getUnused() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000729 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000730}