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