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