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