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