blob: c0e6df73b0e1bd2c2325734c956d7010b13ffc48 [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
113uint32_t NativeRawSymbol::getArrayIndexTypeId() const {
114 return 0;
115}
116
117void NativeRawSymbol::getBackEndVersion(VersionInfo &Version) const {
118 Version.Major = 0;
119 Version.Minor = 0;
120 Version.Build = 0;
121 Version.QFE = 0;
122}
123
124uint32_t NativeRawSymbol::getBaseDataOffset() const {
125 return 0;
126}
127
128uint32_t NativeRawSymbol::getBaseDataSlot() const {
129 return 0;
130}
131
132uint32_t NativeRawSymbol::getBaseSymbolId() const {
133 return 0;
134}
135
136PDB_BuiltinType NativeRawSymbol::getBuiltinType() const {
137 return PDB_BuiltinType::None;
138}
139
140uint32_t NativeRawSymbol::getBitPosition() const {
141 return 0;
142}
143
144PDB_CallingConv NativeRawSymbol::getCallingConvention() const {
145 return PDB_CallingConv::FarStdCall;
146}
147
148uint32_t NativeRawSymbol::getClassParentId() const {
149 return 0;
150}
151
152std::string NativeRawSymbol::getCompilerName() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000153 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000154}
155
156uint32_t NativeRawSymbol::getCount() const {
157 return 0;
158}
159
160uint32_t NativeRawSymbol::getCountLiveRanges() const {
161 return 0;
162}
163
164void NativeRawSymbol::getFrontEndVersion(VersionInfo &Version) const {
165 Version.Major = 0;
166 Version.Minor = 0;
167 Version.Build = 0;
168 Version.QFE = 0;
169}
170
171PDB_Lang NativeRawSymbol::getLanguage() const {
172 return PDB_Lang::Cobol;
173}
174
175uint32_t NativeRawSymbol::getLexicalParentId() const {
176 return 0;
177}
178
179std::string NativeRawSymbol::getLibraryName() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000180 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000181}
182
183uint32_t NativeRawSymbol::getLiveRangeStartAddressOffset() const {
184 return 0;
185}
186
187uint32_t NativeRawSymbol::getLiveRangeStartAddressSection() const {
188 return 0;
189}
190
191uint32_t NativeRawSymbol::getLiveRangeStartRelativeVirtualAddress() const {
192 return 0;
193}
194
195codeview::RegisterId NativeRawSymbol::getLocalBasePointerRegisterId() const {
Reid Klecknerbd5d7122018-08-16 17:34:31 +0000196 return codeview::RegisterId::EAX;
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000197}
198
199uint32_t NativeRawSymbol::getLowerBoundId() const {
200 return 0;
201}
202
203uint32_t NativeRawSymbol::getMemorySpaceKind() const {
204 return 0;
205}
206
207std::string NativeRawSymbol::getName() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000208 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000209}
210
211uint32_t NativeRawSymbol::getNumberOfAcceleratorPointerTags() const {
212 return 0;
213}
214
215uint32_t NativeRawSymbol::getNumberOfColumns() const {
216 return 0;
217}
218
219uint32_t NativeRawSymbol::getNumberOfModifiers() const {
220 return 0;
221}
222
223uint32_t NativeRawSymbol::getNumberOfRegisterIndices() const {
224 return 0;
225}
226
227uint32_t NativeRawSymbol::getNumberOfRows() const {
228 return 0;
229}
230
231std::string NativeRawSymbol::getObjectFileName() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000232 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000233}
234
235uint32_t NativeRawSymbol::getOemId() const {
236 return 0;
237}
238
239uint32_t NativeRawSymbol::getOemSymbolId() const {
240 return 0;
241}
242
243uint32_t NativeRawSymbol::getOffsetInUdt() const {
244 return 0;
245}
246
247PDB_Cpu NativeRawSymbol::getPlatform() const {
248 return PDB_Cpu::Intel8080;
249}
250
251uint32_t NativeRawSymbol::getRank() const {
252 return 0;
253}
254
255codeview::RegisterId NativeRawSymbol::getRegisterId() const {
Reid Klecknerbd5d7122018-08-16 17:34:31 +0000256 return codeview::RegisterId::EAX;
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000257}
258
259uint32_t NativeRawSymbol::getRegisterType() const {
260 return 0;
261}
262
263uint32_t NativeRawSymbol::getRelativeVirtualAddress() const {
264 return 0;
265}
266
267uint32_t NativeRawSymbol::getSamplerSlot() const {
268 return 0;
269}
270
271uint32_t NativeRawSymbol::getSignature() const {
272 return 0;
273}
274
275uint32_t NativeRawSymbol::getSizeInUdt() const {
276 return 0;
277}
278
279uint32_t NativeRawSymbol::getSlot() const {
280 return 0;
281}
282
283std::string NativeRawSymbol::getSourceFileName() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000284 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000285}
286
Aaron Smith25409dd2018-03-07 00:33:09 +0000287std::unique_ptr<IPDBLineNumber>
288NativeRawSymbol::getSrcLineOnTypeDefn() const {
289 return nullptr;
290}
291
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000292uint32_t NativeRawSymbol::getStride() const {
293 return 0;
294}
295
296uint32_t NativeRawSymbol::getSubTypeId() const {
297 return 0;
298}
299
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000300std::string NativeRawSymbol::getSymbolsFileName() const { return {}; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000301
Adrian McCarthy31bcb6f2017-06-22 18:43:18 +0000302uint32_t NativeRawSymbol::getSymIndexId() const { return SymbolId; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000303
304uint32_t NativeRawSymbol::getTargetOffset() const {
305 return 0;
306}
307
308uint32_t NativeRawSymbol::getTargetRelativeVirtualAddress() const {
309 return 0;
310}
311
312uint64_t NativeRawSymbol::getTargetVirtualAddress() const {
313 return 0;
314}
315
316uint32_t NativeRawSymbol::getTargetSection() const {
317 return 0;
318}
319
320uint32_t NativeRawSymbol::getTextureSlot() const {
321 return 0;
322}
323
324uint32_t NativeRawSymbol::getTimeStamp() const {
325 return 0;
326}
327
328uint32_t NativeRawSymbol::getToken() const {
329 return 0;
330}
331
332uint32_t NativeRawSymbol::getTypeId() const {
333 return 0;
334}
335
336uint32_t NativeRawSymbol::getUavSlot() const {
337 return 0;
338}
339
340std::string NativeRawSymbol::getUndecoratedName() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000341 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000342}
343
Aaron Smith89bca9e2017-11-16 14:33:09 +0000344std::string NativeRawSymbol::getUndecoratedNameEx(
345 PDB_UndnameFlags Flags) const {
346 return {};
347}
348
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000349uint32_t NativeRawSymbol::getUnmodifiedTypeId() const {
350 return 0;
351}
352
353uint32_t NativeRawSymbol::getUpperBoundId() const {
354 return 0;
355}
356
357Variant NativeRawSymbol::getValue() const {
358 return Variant();
359}
360
361uint32_t NativeRawSymbol::getVirtualBaseDispIndex() const {
362 return 0;
363}
364
365uint32_t NativeRawSymbol::getVirtualBaseOffset() const {
366 return 0;
367}
368
369uint32_t NativeRawSymbol::getVirtualTableShapeId() const {
370 return 0;
371}
372
Zachary Turner16901642017-04-24 17:47:24 +0000373std::unique_ptr<PDBSymbolTypeBuiltin>
Zachary Turnerc883a8c2017-04-12 23:18:21 +0000374NativeRawSymbol::getVirtualBaseTableType() const {
375 return nullptr;
376}
377
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000378PDB_DataKind NativeRawSymbol::getDataKind() const {
379 return PDB_DataKind::Unknown;
380}
381
Zachary Turner7999b4f2018-09-05 23:30:38 +0000382PDB_SymType NativeRawSymbol::getSymTag() const { return Tag; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000383
Reid Kleckner67653ee2017-07-17 23:59:44 +0000384codeview::GUID NativeRawSymbol::getGuid() const { return codeview::GUID{{0}}; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000385
386int32_t NativeRawSymbol::getOffset() const {
387 return 0;
388}
389
390int32_t NativeRawSymbol::getThisAdjust() const {
391 return 0;
392}
393
394int32_t NativeRawSymbol::getVirtualBasePointerOffset() const {
395 return 0;
396}
397
398PDB_LocType NativeRawSymbol::getLocationType() const {
399 return PDB_LocType::Null;
400}
401
402PDB_Machine NativeRawSymbol::getMachineType() const {
403 return PDB_Machine::Invalid;
404}
405
406codeview::ThunkOrdinal NativeRawSymbol::getThunkOrdinal() const {
407 return codeview::ThunkOrdinal::Standard;
408}
409
410uint64_t NativeRawSymbol::getLength() const {
411 return 0;
412}
413
414uint64_t NativeRawSymbol::getLiveRangeLength() const {
415 return 0;
416}
417
418uint64_t NativeRawSymbol::getVirtualAddress() const {
419 return 0;
420}
421
422PDB_UdtType NativeRawSymbol::getUdtKind() const {
423 return PDB_UdtType::Struct;
424}
425
426bool NativeRawSymbol::hasConstructor() const {
427 return false;
428}
429
430bool NativeRawSymbol::hasCustomCallingConvention() const {
431 return false;
432}
433
434bool NativeRawSymbol::hasFarReturn() const {
435 return false;
436}
437
438bool NativeRawSymbol::isCode() const {
439 return false;
440}
441
442bool NativeRawSymbol::isCompilerGenerated() const {
443 return false;
444}
445
446bool NativeRawSymbol::isConstType() const {
447 return false;
448}
449
450bool NativeRawSymbol::isEditAndContinueEnabled() const {
451 return false;
452}
453
454bool NativeRawSymbol::isFunction() const {
455 return false;
456}
457
458bool NativeRawSymbol::getAddressTaken() const {
459 return false;
460}
461
462bool NativeRawSymbol::getNoStackOrdering() const {
463 return false;
464}
465
466bool NativeRawSymbol::hasAlloca() const {
467 return false;
468}
469
470bool NativeRawSymbol::hasAssignmentOperator() const {
471 return false;
472}
473
474bool NativeRawSymbol::hasCTypes() const {
475 return false;
476}
477
478bool NativeRawSymbol::hasCastOperator() const {
479 return false;
480}
481
482bool NativeRawSymbol::hasDebugInfo() const {
483 return false;
484}
485
486bool NativeRawSymbol::hasEH() const {
487 return false;
488}
489
490bool NativeRawSymbol::hasEHa() const {
491 return false;
492}
493
494bool NativeRawSymbol::hasInlAsm() const {
495 return false;
496}
497
498bool NativeRawSymbol::hasInlineAttribute() const {
499 return false;
500}
501
502bool NativeRawSymbol::hasInterruptReturn() const {
503 return false;
504}
505
506bool NativeRawSymbol::hasFramePointer() const {
507 return false;
508}
509
510bool NativeRawSymbol::hasLongJump() const {
511 return false;
512}
513
514bool NativeRawSymbol::hasManagedCode() const {
515 return false;
516}
517
518bool NativeRawSymbol::hasNestedTypes() const {
519 return false;
520}
521
522bool NativeRawSymbol::hasNoInlineAttribute() const {
523 return false;
524}
525
526bool NativeRawSymbol::hasNoReturnAttribute() const {
527 return false;
528}
529
530bool NativeRawSymbol::hasOptimizedCodeDebugInfo() const {
531 return false;
532}
533
534bool NativeRawSymbol::hasOverloadedOperator() const {
535 return false;
536}
537
538bool NativeRawSymbol::hasSEH() const {
539 return false;
540}
541
542bool NativeRawSymbol::hasSecurityChecks() const {
543 return false;
544}
545
546bool NativeRawSymbol::hasSetJump() const {
547 return false;
548}
549
550bool NativeRawSymbol::hasStrictGSCheck() const {
551 return false;
552}
553
554bool NativeRawSymbol::isAcceleratorGroupSharedLocal() const {
555 return false;
556}
557
558bool NativeRawSymbol::isAcceleratorPointerTagLiveRange() const {
559 return false;
560}
561
562bool NativeRawSymbol::isAcceleratorStubFunction() const {
563 return false;
564}
565
566bool NativeRawSymbol::isAggregated() const {
567 return false;
568}
569
570bool NativeRawSymbol::isIntroVirtualFunction() const {
571 return false;
572}
573
574bool NativeRawSymbol::isCVTCIL() const {
575 return false;
576}
577
578bool NativeRawSymbol::isConstructorVirtualBase() const {
579 return false;
580}
581
582bool NativeRawSymbol::isCxxReturnUdt() const {
583 return false;
584}
585
586bool NativeRawSymbol::isDataAligned() const {
587 return false;
588}
589
590bool NativeRawSymbol::isHLSLData() const {
591 return false;
592}
593
594bool NativeRawSymbol::isHotpatchable() const {
595 return false;
596}
597
598bool NativeRawSymbol::isIndirectVirtualBaseClass() const {
599 return false;
600}
601
602bool NativeRawSymbol::isInterfaceUdt() const {
603 return false;
604}
605
606bool NativeRawSymbol::isIntrinsic() const {
607 return false;
608}
609
610bool NativeRawSymbol::isLTCG() const {
611 return false;
612}
613
614bool NativeRawSymbol::isLocationControlFlowDependent() const {
615 return false;
616}
617
618bool NativeRawSymbol::isMSILNetmodule() const {
619 return false;
620}
621
622bool NativeRawSymbol::isMatrixRowMajor() const {
623 return false;
624}
625
626bool NativeRawSymbol::isManagedCode() const {
627 return false;
628}
629
630bool NativeRawSymbol::isMSILCode() const {
631 return false;
632}
633
634bool NativeRawSymbol::isMultipleInheritance() const {
635 return false;
636}
637
638bool NativeRawSymbol::isNaked() const {
639 return false;
640}
641
642bool NativeRawSymbol::isNested() const {
643 return false;
644}
645
646bool NativeRawSymbol::isOptimizedAway() const {
647 return false;
648}
649
650bool NativeRawSymbol::isPacked() const {
651 return false;
652}
653
654bool NativeRawSymbol::isPointerBasedOnSymbolValue() const {
655 return false;
656}
657
658bool NativeRawSymbol::isPointerToDataMember() const {
659 return false;
660}
661
662bool NativeRawSymbol::isPointerToMemberFunction() const {
663 return false;
664}
665
666bool NativeRawSymbol::isPureVirtual() const {
667 return false;
668}
669
670bool NativeRawSymbol::isRValueReference() const {
671 return false;
672}
673
674bool NativeRawSymbol::isRefUdt() const {
675 return false;
676}
677
678bool NativeRawSymbol::isReference() const {
679 return false;
680}
681
682bool NativeRawSymbol::isRestrictedType() const {
683 return false;
684}
685
686bool NativeRawSymbol::isReturnValue() const {
687 return false;
688}
689
690bool NativeRawSymbol::isSafeBuffers() const {
691 return false;
692}
693
694bool NativeRawSymbol::isScoped() const {
695 return false;
696}
697
698bool NativeRawSymbol::isSdl() const {
699 return false;
700}
701
702bool NativeRawSymbol::isSingleInheritance() const {
703 return false;
704}
705
706bool NativeRawSymbol::isSplitted() const {
707 return false;
708}
709
710bool NativeRawSymbol::isStatic() const {
711 return false;
712}
713
714bool NativeRawSymbol::hasPrivateSymbols() const {
715 return false;
716}
717
718bool NativeRawSymbol::isUnalignedType() const {
719 return false;
720}
721
722bool NativeRawSymbol::isUnreached() const {
723 return false;
724}
725
726bool NativeRawSymbol::isValueUdt() const {
727 return false;
728}
729
730bool NativeRawSymbol::isVirtual() const {
731 return false;
732}
733
734bool NativeRawSymbol::isVirtualBaseClass() const {
735 return false;
736}
737
738bool NativeRawSymbol::isVirtualInheritance() const {
739 return false;
740}
741
742bool NativeRawSymbol::isVolatileType() const {
743 return false;
744}
745
746bool NativeRawSymbol::wasInlined() const {
747 return false;
748}
749
750std::string NativeRawSymbol::getUnused() const {
Eugene Zelenko4fcfc192017-06-30 23:06:03 +0000751 return {};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000752}