blob: 3aba35adb53f75f68b17ecb8cc00f599fd63c6d5 [file] [log] [blame]
Adrian McCarthy0beb3322017-02-09 21:51:19 +00001//===- NativeRawSymbol.cpp - Native implementation of IPDBRawSymbol -*- C++ -*-===//
2//
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"
11#include "llvm/ADT/ArrayRef.h"
12#include "llvm/ADT/STLExtras.h"
13#include "llvm/DebugInfo/PDB/IPDBEnumChildren.h"
Adrian McCarthy65d26882017-03-15 20:17:58 +000014#include "llvm/DebugInfo/PDB/Native/NativeSession.h"
Adrian McCarthy0beb3322017-02-09 21:51:19 +000015#include "llvm/DebugInfo/PDB/PDBExtras.h"
Zachary Turnerc883a8c2017-04-12 23:18:21 +000016#include "llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h"
17#include "llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h"
Adrian McCarthy0beb3322017-02-09 21:51:19 +000018#include "llvm/Support/ConvertUTF.h"
19#include "llvm/Support/raw_ostream.h"
20
21using namespace llvm;
22using namespace llvm::pdb;
23
Adrian McCarthy649b8e02017-02-24 00:10:47 +000024NativeRawSymbol::NativeRawSymbol(NativeSession &PDBSession)
25 : Session(PDBSession) {}
Adrian McCarthy0beb3322017-02-09 21:51:19 +000026
27void NativeRawSymbol::dump(raw_ostream &OS, int Indent) const {}
28
29std::unique_ptr<IPDBEnumSymbols>
30NativeRawSymbol::findChildren(PDB_SymType Type) const {
31 return nullptr;
32}
33
34std::unique_ptr<IPDBEnumSymbols>
35NativeRawSymbol::findChildren(PDB_SymType Type, StringRef Name,
36 PDB_NameSearchFlags Flags) const {
37 return nullptr;
38}
39
40std::unique_ptr<IPDBEnumSymbols>
41NativeRawSymbol::findChildrenByRVA(PDB_SymType Type, StringRef Name,
42 PDB_NameSearchFlags Flags, uint32_t RVA) const {
43 return nullptr;
44}
45
46std::unique_ptr<IPDBEnumSymbols>
47NativeRawSymbol::findInlineFramesByRVA(uint32_t RVA) const {
48 return nullptr;
49}
50
51void NativeRawSymbol::getDataBytes(llvm::SmallVector<uint8_t, 32> &bytes) const {
52 bytes.clear();
53}
54
55PDB_MemberAccess NativeRawSymbol::getAccess() const {
56 return PDB_MemberAccess::Private;
57}
58
59uint32_t NativeRawSymbol::getAddressOffset() const {
60 return 0;
61}
62
63uint32_t NativeRawSymbol::getAddressSection() const {
64 return 0;
65}
66
67uint32_t NativeRawSymbol::getAge() const {
68 return 0;
69}
70
71uint32_t NativeRawSymbol::getArrayIndexTypeId() const {
72 return 0;
73}
74
75void NativeRawSymbol::getBackEndVersion(VersionInfo &Version) const {
76 Version.Major = 0;
77 Version.Minor = 0;
78 Version.Build = 0;
79 Version.QFE = 0;
80}
81
82uint32_t NativeRawSymbol::getBaseDataOffset() const {
83 return 0;
84}
85
86uint32_t NativeRawSymbol::getBaseDataSlot() const {
87 return 0;
88}
89
90uint32_t NativeRawSymbol::getBaseSymbolId() const {
91 return 0;
92}
93
94PDB_BuiltinType NativeRawSymbol::getBuiltinType() const {
95 return PDB_BuiltinType::None;
96}
97
98uint32_t NativeRawSymbol::getBitPosition() const {
99 return 0;
100}
101
102PDB_CallingConv NativeRawSymbol::getCallingConvention() const {
103 return PDB_CallingConv::FarStdCall;
104}
105
106uint32_t NativeRawSymbol::getClassParentId() const {
107 return 0;
108}
109
110std::string NativeRawSymbol::getCompilerName() const {
111 return 0;
112}
113
114uint32_t NativeRawSymbol::getCount() const {
115 return 0;
116}
117
118uint32_t NativeRawSymbol::getCountLiveRanges() const {
119 return 0;
120}
121
122void NativeRawSymbol::getFrontEndVersion(VersionInfo &Version) const {
123 Version.Major = 0;
124 Version.Minor = 0;
125 Version.Build = 0;
126 Version.QFE = 0;
127}
128
129PDB_Lang NativeRawSymbol::getLanguage() const {
130 return PDB_Lang::Cobol;
131}
132
133uint32_t NativeRawSymbol::getLexicalParentId() const {
134 return 0;
135}
136
137std::string NativeRawSymbol::getLibraryName() const {
138 return "";
139}
140
141uint32_t NativeRawSymbol::getLiveRangeStartAddressOffset() const {
142 return 0;
143}
144
145uint32_t NativeRawSymbol::getLiveRangeStartAddressSection() const {
146 return 0;
147}
148
149uint32_t NativeRawSymbol::getLiveRangeStartRelativeVirtualAddress() const {
150 return 0;
151}
152
153codeview::RegisterId NativeRawSymbol::getLocalBasePointerRegisterId() const {
154 return codeview::RegisterId::EAX;
155}
156
157uint32_t NativeRawSymbol::getLowerBoundId() const {
158 return 0;
159}
160
161uint32_t NativeRawSymbol::getMemorySpaceKind() const {
162 return 0;
163}
164
165std::string NativeRawSymbol::getName() const {
166 return 0;
167}
168
169uint32_t NativeRawSymbol::getNumberOfAcceleratorPointerTags() const {
170 return 0;
171}
172
173uint32_t NativeRawSymbol::getNumberOfColumns() const {
174 return 0;
175}
176
177uint32_t NativeRawSymbol::getNumberOfModifiers() const {
178 return 0;
179}
180
181uint32_t NativeRawSymbol::getNumberOfRegisterIndices() const {
182 return 0;
183}
184
185uint32_t NativeRawSymbol::getNumberOfRows() const {
186 return 0;
187}
188
189std::string NativeRawSymbol::getObjectFileName() const {
190 return "";
191}
192
193uint32_t NativeRawSymbol::getOemId() const {
194 return 0;
195}
196
197uint32_t NativeRawSymbol::getOemSymbolId() const {
198 return 0;
199}
200
201uint32_t NativeRawSymbol::getOffsetInUdt() const {
202 return 0;
203}
204
205PDB_Cpu NativeRawSymbol::getPlatform() const {
206 return PDB_Cpu::Intel8080;
207}
208
209uint32_t NativeRawSymbol::getRank() const {
210 return 0;
211}
212
213codeview::RegisterId NativeRawSymbol::getRegisterId() const {
214 return codeview::RegisterId::EAX;
215}
216
217uint32_t NativeRawSymbol::getRegisterType() const {
218 return 0;
219}
220
221uint32_t NativeRawSymbol::getRelativeVirtualAddress() const {
222 return 0;
223}
224
225uint32_t NativeRawSymbol::getSamplerSlot() const {
226 return 0;
227}
228
229uint32_t NativeRawSymbol::getSignature() const {
230 return 0;
231}
232
233uint32_t NativeRawSymbol::getSizeInUdt() const {
234 return 0;
235}
236
237uint32_t NativeRawSymbol::getSlot() const {
238 return 0;
239}
240
241std::string NativeRawSymbol::getSourceFileName() const {
242 return 0;
243}
244
245uint32_t NativeRawSymbol::getStride() const {
246 return 0;
247}
248
249uint32_t NativeRawSymbol::getSubTypeId() const {
250 return 0;
251}
252
Adrian McCarthy4d93d662017-03-29 19:27:08 +0000253std::string NativeRawSymbol::getSymbolsFileName() const { return ""; }
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000254
255uint32_t NativeRawSymbol::getSymIndexId() const {
256 return 0;
257}
258
259uint32_t NativeRawSymbol::getTargetOffset() const {
260 return 0;
261}
262
263uint32_t NativeRawSymbol::getTargetRelativeVirtualAddress() const {
264 return 0;
265}
266
267uint64_t NativeRawSymbol::getTargetVirtualAddress() const {
268 return 0;
269}
270
271uint32_t NativeRawSymbol::getTargetSection() const {
272 return 0;
273}
274
275uint32_t NativeRawSymbol::getTextureSlot() const {
276 return 0;
277}
278
279uint32_t NativeRawSymbol::getTimeStamp() const {
280 return 0;
281}
282
283uint32_t NativeRawSymbol::getToken() const {
284 return 0;
285}
286
287uint32_t NativeRawSymbol::getTypeId() const {
288 return 0;
289}
290
291uint32_t NativeRawSymbol::getUavSlot() const {
292 return 0;
293}
294
295std::string NativeRawSymbol::getUndecoratedName() const {
296 return 0;
297}
298
299uint32_t NativeRawSymbol::getUnmodifiedTypeId() const {
300 return 0;
301}
302
303uint32_t NativeRawSymbol::getUpperBoundId() const {
304 return 0;
305}
306
307Variant NativeRawSymbol::getValue() const {
308 return Variant();
309}
310
311uint32_t NativeRawSymbol::getVirtualBaseDispIndex() const {
312 return 0;
313}
314
315uint32_t NativeRawSymbol::getVirtualBaseOffset() const {
316 return 0;
317}
318
319uint32_t NativeRawSymbol::getVirtualTableShapeId() const {
320 return 0;
321}
322
Zachary Turnerc883a8c2017-04-12 23:18:21 +0000323std::unique_ptr<PDBSymbolTypeVTable>
324NativeRawSymbol::getVirtualBaseTableType() const {
325 return nullptr;
326}
327
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000328PDB_DataKind NativeRawSymbol::getDataKind() const {
329 return PDB_DataKind::Unknown;
330}
331
332PDB_SymType NativeRawSymbol::getSymTag() const {
333 return PDB_SymType::None;
334}
335
336PDB_UniqueId NativeRawSymbol::getGuid() const {
Adrian McCarthy649b8e02017-02-24 00:10:47 +0000337 return PDB_UniqueId{{0}};
Adrian McCarthy0beb3322017-02-09 21:51:19 +0000338}
339
340int32_t NativeRawSymbol::getOffset() const {
341 return 0;
342}
343
344int32_t NativeRawSymbol::getThisAdjust() const {
345 return 0;
346}
347
348int32_t NativeRawSymbol::getVirtualBasePointerOffset() const {
349 return 0;
350}
351
352PDB_LocType NativeRawSymbol::getLocationType() const {
353 return PDB_LocType::Null;
354}
355
356PDB_Machine NativeRawSymbol::getMachineType() const {
357 return PDB_Machine::Invalid;
358}
359
360codeview::ThunkOrdinal NativeRawSymbol::getThunkOrdinal() const {
361 return codeview::ThunkOrdinal::Standard;
362}
363
364uint64_t NativeRawSymbol::getLength() const {
365 return 0;
366}
367
368uint64_t NativeRawSymbol::getLiveRangeLength() const {
369 return 0;
370}
371
372uint64_t NativeRawSymbol::getVirtualAddress() const {
373 return 0;
374}
375
376PDB_UdtType NativeRawSymbol::getUdtKind() const {
377 return PDB_UdtType::Struct;
378}
379
380bool NativeRawSymbol::hasConstructor() const {
381 return false;
382}
383
384bool NativeRawSymbol::hasCustomCallingConvention() const {
385 return false;
386}
387
388bool NativeRawSymbol::hasFarReturn() const {
389 return false;
390}
391
392bool NativeRawSymbol::isCode() const {
393 return false;
394}
395
396bool NativeRawSymbol::isCompilerGenerated() const {
397 return false;
398}
399
400bool NativeRawSymbol::isConstType() const {
401 return false;
402}
403
404bool NativeRawSymbol::isEditAndContinueEnabled() const {
405 return false;
406}
407
408bool NativeRawSymbol::isFunction() const {
409 return false;
410}
411
412bool NativeRawSymbol::getAddressTaken() const {
413 return false;
414}
415
416bool NativeRawSymbol::getNoStackOrdering() const {
417 return false;
418}
419
420bool NativeRawSymbol::hasAlloca() const {
421 return false;
422}
423
424bool NativeRawSymbol::hasAssignmentOperator() const {
425 return false;
426}
427
428bool NativeRawSymbol::hasCTypes() const {
429 return false;
430}
431
432bool NativeRawSymbol::hasCastOperator() const {
433 return false;
434}
435
436bool NativeRawSymbol::hasDebugInfo() const {
437 return false;
438}
439
440bool NativeRawSymbol::hasEH() const {
441 return false;
442}
443
444bool NativeRawSymbol::hasEHa() const {
445 return false;
446}
447
448bool NativeRawSymbol::hasInlAsm() const {
449 return false;
450}
451
452bool NativeRawSymbol::hasInlineAttribute() const {
453 return false;
454}
455
456bool NativeRawSymbol::hasInterruptReturn() const {
457 return false;
458}
459
460bool NativeRawSymbol::hasFramePointer() const {
461 return false;
462}
463
464bool NativeRawSymbol::hasLongJump() const {
465 return false;
466}
467
468bool NativeRawSymbol::hasManagedCode() const {
469 return false;
470}
471
472bool NativeRawSymbol::hasNestedTypes() const {
473 return false;
474}
475
476bool NativeRawSymbol::hasNoInlineAttribute() const {
477 return false;
478}
479
480bool NativeRawSymbol::hasNoReturnAttribute() const {
481 return false;
482}
483
484bool NativeRawSymbol::hasOptimizedCodeDebugInfo() const {
485 return false;
486}
487
488bool NativeRawSymbol::hasOverloadedOperator() const {
489 return false;
490}
491
492bool NativeRawSymbol::hasSEH() const {
493 return false;
494}
495
496bool NativeRawSymbol::hasSecurityChecks() const {
497 return false;
498}
499
500bool NativeRawSymbol::hasSetJump() const {
501 return false;
502}
503
504bool NativeRawSymbol::hasStrictGSCheck() const {
505 return false;
506}
507
508bool NativeRawSymbol::isAcceleratorGroupSharedLocal() const {
509 return false;
510}
511
512bool NativeRawSymbol::isAcceleratorPointerTagLiveRange() const {
513 return false;
514}
515
516bool NativeRawSymbol::isAcceleratorStubFunction() const {
517 return false;
518}
519
520bool NativeRawSymbol::isAggregated() const {
521 return false;
522}
523
524bool NativeRawSymbol::isIntroVirtualFunction() const {
525 return false;
526}
527
528bool NativeRawSymbol::isCVTCIL() const {
529 return false;
530}
531
532bool NativeRawSymbol::isConstructorVirtualBase() const {
533 return false;
534}
535
536bool NativeRawSymbol::isCxxReturnUdt() const {
537 return false;
538}
539
540bool NativeRawSymbol::isDataAligned() const {
541 return false;
542}
543
544bool NativeRawSymbol::isHLSLData() const {
545 return false;
546}
547
548bool NativeRawSymbol::isHotpatchable() const {
549 return false;
550}
551
552bool NativeRawSymbol::isIndirectVirtualBaseClass() const {
553 return false;
554}
555
556bool NativeRawSymbol::isInterfaceUdt() const {
557 return false;
558}
559
560bool NativeRawSymbol::isIntrinsic() const {
561 return false;
562}
563
564bool NativeRawSymbol::isLTCG() const {
565 return false;
566}
567
568bool NativeRawSymbol::isLocationControlFlowDependent() const {
569 return false;
570}
571
572bool NativeRawSymbol::isMSILNetmodule() const {
573 return false;
574}
575
576bool NativeRawSymbol::isMatrixRowMajor() const {
577 return false;
578}
579
580bool NativeRawSymbol::isManagedCode() const {
581 return false;
582}
583
584bool NativeRawSymbol::isMSILCode() const {
585 return false;
586}
587
588bool NativeRawSymbol::isMultipleInheritance() const {
589 return false;
590}
591
592bool NativeRawSymbol::isNaked() const {
593 return false;
594}
595
596bool NativeRawSymbol::isNested() const {
597 return false;
598}
599
600bool NativeRawSymbol::isOptimizedAway() const {
601 return false;
602}
603
604bool NativeRawSymbol::isPacked() const {
605 return false;
606}
607
608bool NativeRawSymbol::isPointerBasedOnSymbolValue() const {
609 return false;
610}
611
612bool NativeRawSymbol::isPointerToDataMember() const {
613 return false;
614}
615
616bool NativeRawSymbol::isPointerToMemberFunction() const {
617 return false;
618}
619
620bool NativeRawSymbol::isPureVirtual() const {
621 return false;
622}
623
624bool NativeRawSymbol::isRValueReference() const {
625 return false;
626}
627
628bool NativeRawSymbol::isRefUdt() const {
629 return false;
630}
631
632bool NativeRawSymbol::isReference() const {
633 return false;
634}
635
636bool NativeRawSymbol::isRestrictedType() const {
637 return false;
638}
639
640bool NativeRawSymbol::isReturnValue() const {
641 return false;
642}
643
644bool NativeRawSymbol::isSafeBuffers() const {
645 return false;
646}
647
648bool NativeRawSymbol::isScoped() const {
649 return false;
650}
651
652bool NativeRawSymbol::isSdl() const {
653 return false;
654}
655
656bool NativeRawSymbol::isSingleInheritance() const {
657 return false;
658}
659
660bool NativeRawSymbol::isSplitted() const {
661 return false;
662}
663
664bool NativeRawSymbol::isStatic() const {
665 return false;
666}
667
668bool NativeRawSymbol::hasPrivateSymbols() const {
669 return false;
670}
671
672bool NativeRawSymbol::isUnalignedType() const {
673 return false;
674}
675
676bool NativeRawSymbol::isUnreached() const {
677 return false;
678}
679
680bool NativeRawSymbol::isValueUdt() const {
681 return false;
682}
683
684bool NativeRawSymbol::isVirtual() const {
685 return false;
686}
687
688bool NativeRawSymbol::isVirtualBaseClass() const {
689 return false;
690}
691
692bool NativeRawSymbol::isVirtualInheritance() const {
693 return false;
694}
695
696bool NativeRawSymbol::isVolatileType() const {
697 return false;
698}
699
700bool NativeRawSymbol::wasInlined() const {
701 return false;
702}
703
704std::string NativeRawSymbol::getUnused() const {
705 return "";
706}