llvm.org GIT mirror llvm / e642985
Some cleanup for libpdb. This patch implements a few of the optional suggestions from the initial patch comitting libpdb. In particular, it implements a virtual function out of line for each of the concrete classes. A few other minor cleanups exist as well, such as using override instead of virtual, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228516 91177308-0d34-0410-b5e6-96231b3b80d8 Zachary Turner 4 years ago
68 changed file(s) with 838 addition(s) and 95 deletion(s). Raw diff Collapse all Expand all
1313
1414 #include "llvm/ADT/SmallVector.h"
1515 #include "llvm/ADT/StringRef.h"
16 #include "llvm/Support/COFF.h"
17 #include "llvm/Support/raw_ostream.h"
1816 #include "PDBTypes.h"
1917
2018 namespace llvm {
19
20 class raw_ostream;
2121
2222 /// IPDBRawSymbol defines an interface used to represent an arbitrary symbol.
2323 /// It exposes a monolithic interface consisting of accessors for the union of
4040 findInlineFramesByRVA(uint32_t RVA) const = 0;
4141
4242 virtual void getDataBytes(llvm::SmallVector &bytes) const = 0;
43 virtual void getBackEndVersion(VersionInfo &Version) const = 0;
4344 virtual PDB_MemberAccess getAccess() const = 0;
4445 virtual uint32_t getAddressOffset() const = 0;
4546 virtual uint32_t getAddressSection() const = 0;
4647 virtual uint32_t getAge() const = 0;
4748 virtual uint32_t getArrayIndexTypeId() const = 0;
48 virtual uint32_t getBackEndBuild() const = 0;
49 virtual uint32_t getBackEndMajor() const = 0;
50 virtual uint32_t getBackEndMinor() const = 0;
5149 virtual uint32_t getBaseDataOffset() const = 0;
5250 virtual uint32_t getBaseDataSlot() const = 0;
5351 virtual uint32_t getBaseSymbolId() const = 0;
5856 virtual std::string getCompilerName() const = 0;
5957 virtual uint32_t getCount() const = 0;
6058 virtual uint32_t getCountLiveRanges() const = 0;
61 virtual uint32_t getFrontEndBuild() const = 0;
62 virtual uint32_t getFrontEndMajor() const = 0;
63 virtual uint32_t getFrontEndMinor() const = 0;
59 virtual void getFrontEndVersion(VersionInfo &Version) const = 0;
6460 virtual PDB_Lang getLanguage() const = 0;
6561 virtual uint32_t getLexicalParentId() const = 0;
6662 virtual std::string getLibraryName() const = 0;
116112 virtual int32_t getThisAdjust() const = 0;
117113 virtual int32_t getVirtualBasePointerOffset() const = 0;
118114 virtual PDB_LocType getLocationType() const = 0;
119 virtual COFF::MachineTypes getMachineType() const = 0;
115 virtual PDB_Machine getMachineType() const = 0;
120116 virtual PDB_ThunkOrdinal getThunkOrdinal() const = 0;
121117 virtual uint64_t getLength() const = 0;
122118 virtual uint64_t getLiveRangeLength() const = 0;
1212 #include
1313
1414 #include "llvm/ADT/StringRef.h"
15 #include "llvm/Support/raw_ostream.h"
1615 #include "llvm/Support/Casting.h"
1716
1817 #include "IPDBRawSymbol.h"
2625 namespace llvm {
2726
2827 class IPDBRawSymbol;
28 class raw_ostream;
2929
3030 /// PDBSymbol defines the base of the inheritance hierarchy for concrete symbol
3131 /// types (e.g. functions, executables, vtables, etc). All concrete symbol
1515
1616 namespace llvm {
1717
18 class raw_ostream;
19
1820 class PDBSymbolAnnotation : public PDBSymbol {
1921 public:
2022 PDBSymbolAnnotation(std::unique_ptr AnnotationSymbol);
23
24 void dump(llvm::raw_ostream &OS) const override;
2125
2226 FORWARD_SYMBOL_METHOD(getAddressOffset)
2327 FORWARD_SYMBOL_METHOD(getAddressSection)
1515
1616 namespace llvm {
1717
18 class raw_ostream;
19
1820 class PDBSymbolBlock : public PDBSymbol {
1921 public:
2022 PDBSymbolBlock(std::unique_ptr BlockSymbol);
23
24 void dump(llvm::raw_ostream &OS) const override;
2125
2226 FORWARD_SYMBOL_METHOD(getAddressOffset)
2327 FORWARD_SYMBOL_METHOD(getAddressSection)
1515
1616 namespace llvm {
1717
18 class raw_ostream;
19
1820 class PDBSymbolCompiland : public PDBSymbol {
1921 public:
2022 PDBSymbolCompiland(std::unique_ptr CompilandSymbol);
23
24 void dump(llvm::raw_ostream &OS) const override;
2125
2226 FORWARD_SYMBOL_METHOD(isEditAndContinueEnabled)
2327 FORWARD_SYMBOL_METHOD(getLexicalParentId)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolCompilandDetails : public PDBSymbol {
1820 public:
1921 PDBSymbolCompilandDetails(std::unique_ptr DetailsSymbol);
2022
21 FORWARD_SYMBOL_METHOD(getBackEndBuild)
22 FORWARD_SYMBOL_METHOD(getBackEndMajor)
23 FORWARD_SYMBOL_METHOD(getBackEndMinor)
23 void dump(llvm::raw_ostream &OS) const override;
24
25 void getFrontEndVersion(VersionInfo &Version) const {
26 RawSymbol->getFrontEndVersion(Version);
27 }
28
29 void getBackEndVersion(VersionInfo &Version) const {
30 RawSymbol->getBackEndVersion(Version);
31 }
32
2433 FORWARD_SYMBOL_METHOD(getCompilerName)
2534 FORWARD_SYMBOL_METHOD(isEditAndContinueEnabled)
26 FORWARD_SYMBOL_METHOD(getFrontEndBuild)
27 FORWARD_SYMBOL_METHOD(getFrontEndMajor)
28 FORWARD_SYMBOL_METHOD(getFrontEndMinor)
2935 FORWARD_SYMBOL_METHOD(hasDebugInfo)
3036 FORWARD_SYMBOL_METHOD(hasManagedCode)
3137 FORWARD_SYMBOL_METHOD(hasSecurityChecks)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolCompilandEnv : public PDBSymbol {
1820 public:
1921 PDBSymbolCompilandEnv(std::unique_ptr CompilandEnvSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getLexicalParentId)
2226 FORWARD_SYMBOL_METHOD(getName)
1616
1717 namespace llvm {
1818
19 class raw_ostream;
20
1921 /// PDBSymbolCustom represents symbols that are compiler-specific and do not
2022 /// fit anywhere else in the lexical hierarchy.
2123 /// https://msdn.microsoft.com/en-us/library/d88sf09h.aspx
2325 public:
2426 PDBSymbolCustom(std::unique_ptr CustomSymbol);
2527
28 void dump(llvm::raw_ostream &OS) const override;
29
2630 void getDataBytes(llvm::SmallVector &bytes);
27
2831 FORWARD_SYMBOL_METHOD(getSymIndexId)
2932
3033 static bool classof(const PDBSymbol *S) {
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolData : public PDBSymbol {
1820 public:
1921 PDBSymbolData(std::unique_ptr DataSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getAccess)
2226 FORWARD_SYMBOL_METHOD(getAddressOffset)
55 // License. See LICENSE.TXT for details.
66 //
77 //===----------------------------------------------------------------------===//
8
89 #ifndef LLVM_DEBUGINFO_PDB_PDBSYMBOLEXE_H
910 #define LLVM_DEBUGINFO_PDB_PDBSYMBOLEXE_H
1011
1718
1819 namespace llvm {
1920
21 class raw_ostream;
22
2023 class PDBSymbolExe : public PDBSymbol {
2124 public:
2225 PDBSymbolExe(std::unique_ptr ExeSymbol);
26
27 void dump(llvm::raw_ostream &OS) const override;
2328
2429 FORWARD_SYMBOL_METHOD(getAge)
2530 FORWARD_SYMBOL_METHOD(getGuid)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolFunc : public PDBSymbol {
1820 public:
1921 PDBSymbolFunc(std::unique_ptr FuncSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getAccess)
2226 FORWARD_SYMBOL_METHOD(getAddressOffset)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolFuncDebugEnd : public PDBSymbol {
1820 public:
1921 PDBSymbolFuncDebugEnd(std::unique_ptr FuncDebugEndSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getAddressOffset)
2226 FORWARD_SYMBOL_METHOD(getAddressSection)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolFuncDebugStart : public PDBSymbol {
1820 public:
1921 PDBSymbolFuncDebugStart(std::unique_ptr FuncDebugStartSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getAddressOffset)
2226 FORWARD_SYMBOL_METHOD(getAddressSection)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolLabel : public PDBSymbol {
1820 public:
1921 PDBSymbolLabel(std::unique_ptr LabelSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getAddressOffset)
2226 FORWARD_SYMBOL_METHOD(getAddressSection)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolPublicSymbol : public PDBSymbol {
1820 public:
1921 PDBSymbolPublicSymbol(std::unique_ptr PublicSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getAddressOffset)
2226 FORWARD_SYMBOL_METHOD(getAddressSection)
55 // License. See LICENSE.TXT for details.
66 //
77 //===----------------------------------------------------------------------===//
8
89 #ifndef LLVM_DEBUGINFO_PDB_PDBSYMBOLTHUNK_H
910 #define LLVM_DEBUGINFO_PDB_PDBSYMBOLTHUNK_H
1011
1516
1617 namespace llvm {
1718
19 class raw_ostream;
20
1821 class PDBSymbolThunk : public PDBSymbol {
1922 public:
2023 PDBSymbolThunk(std::unique_ptr ThunkSymbol);
24
25 void dump(llvm::raw_ostream &OS) const override;
2126
2227 FORWARD_SYMBOL_METHOD(getAccess)
2328 FORWARD_SYMBOL_METHOD(getAddressOffset)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeArray : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeArray(std::unique_ptr ArrayTypeSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getArrayIndexTypeId)
2226 FORWARD_SYMBOL_METHOD(isConstType)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeBaseClass : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeBaseClass(std::unique_ptr BaseClassTypeSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getAccess)
2226 FORWARD_SYMBOL_METHOD(getClassParentId)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeBuiltin : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeBuiltin(std::unique_ptr BuiltinTypeSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getBuiltinType)
2226 FORWARD_SYMBOL_METHOD(isConstType)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeCustom : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeCustom(std::unique_ptr CustomTypeSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getOemId)
2226 FORWARD_SYMBOL_METHOD(getOemSymbolId)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeDimension : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeDimension(std::unique_ptr DimensionTypeSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getLowerBoundId)
2226 FORWARD_SYMBOL_METHOD(getUpperBoundId)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeEnum : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeEnum(std::unique_ptr EnumTypeSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getBuiltinType)
2226 FORWARD_SYMBOL_METHOD(getClassParentId)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeFriend : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeFriend(std::unique_ptr FriendTypeSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getClassParentId)
2226 FORWARD_SYMBOL_METHOD(getName)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeFunctionArg : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeFunctionArg(std::unique_ptr FuncArgTypeSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getClassParentId)
2226 FORWARD_SYMBOL_METHOD(getLexicalParentId)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeFunctionSig : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeFunctionSig(std::unique_ptr FuncSigTypeSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getCallingConvention)
2226 FORWARD_SYMBOL_METHOD(getClassParentId)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeManaged : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeManaged(std::unique_ptr ManagedTypeSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getName)
2226 FORWARD_SYMBOL_METHOD(getSymIndexId)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypePointer : public PDBSymbol {
1820 public:
1921 PDBSymbolTypePointer(std::unique_ptr PointerTypeSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(isConstType)
2226 FORWARD_SYMBOL_METHOD(getLength)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeTypedef : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeTypedef(std::unique_ptr TypedefSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getBuiltinType)
2226 FORWARD_SYMBOL_METHOD(getClassParentId)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeUDT : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeUDT(std::unique_ptr UDTSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getClassParentId)
2226 FORWARD_SYMBOL_METHOD(hasConstructor)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeVTable : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeVTable(std::unique_ptr VtblSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getClassParentId)
2226 FORWARD_SYMBOL_METHOD(isConstType)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolTypeVTableShape : public PDBSymbol {
1820 public:
1921 PDBSymbolTypeVTableShape(std::unique_ptr VtblShapeSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(isConstType)
2226 FORWARD_SYMBOL_METHOD(getCount)
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolUnknown : public PDBSymbol {
1820 public:
1921 PDBSymbolUnknown(std::unique_ptr UnknownSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 static bool classof(const PDBSymbol *S) {
2226 return (S->getSymTag() == PDB_SymType::None ||
1414
1515 namespace llvm {
1616
17 class raw_ostream;
18
1719 class PDBSymbolUsingNamespace : public PDBSymbol {
1820 public:
1921 PDBSymbolUsingNamespace(std::unique_ptr UsingSymbol);
22
23 void dump(llvm::raw_ostream &OS) const override;
2024
2125 FORWARD_SYMBOL_METHOD(getLexicalParentId)
2226 FORWARD_SYMBOL_METHOD(getName)
2424 class IPDBSession;
2525 class IPDBSourceFile;
2626
27 typedef IPDBEnumChildren<IPDBRawSymbol> IPDBEnumSymbols;
27 typedef IPDBEnumChildren<PDBSymbol> IPDBEnumSymbols;
2828 typedef IPDBEnumChildren IPDBEnumSourceFiles;
2929 typedef IPDBEnumChildren IPDBEnumDataStreams;
3030 typedef IPDBEnumChildren IPDBEnumCompilands;
170170 D3D11_Shader = 0x100,
171171 };
172172
173 enum class PDB_Machine {
174 Invalid = 0xffff,
175 Unknown = 0x0,
176 Am33 = 0x13,
177 Amd64 = 0x8664,
178 Arm = 0x1C0,
179 Armnt = 0x1C4,
180 Ebc = 0xEBC,
181 I386 = 0x14C,
182 Ia64 = 0x200,
183 M32r = 0x9041,
184 Mips16 = 0x266,
185 MipsFPU = 0x366,
186 MipsFPU16 = 0x466,
187 PowerPC = 0x1F0,
188 PowerPCFP = 0x1F1,
189 R4000 = 0x166,
190 SH3 = 0x1A2,
191 SH3DSP = 0x1A3,
192 SH4 = 0x1A6,
193 SH5 = 0x1A8,
194 Thumb = 0x1C2,
195 WceMipsV2 = 0x169
196 };
197
173198 /// These values correspond to the CV_call_e enumeration, and are documented
174199 /// at the following locations:
175200 /// https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx
344369
345370 enum class PDB_MemberAccess { Private = 1, Protected = 2, Public = 3 };
346371
372 struct VersionInfo {
373 uint32_t Major;
374 uint32_t Minor;
375 uint32_t Build;
376 uint32_t QFE;
377 };
378
347379 } // namespace llvm
348380
349381 #endif
11 PDB.cpp
22 PDBInterfaceAnchors.cpp
33 PDBSymbol.cpp
4 PDBSymbolAnnotation.cpp
5 PDBSymbolBlock.cpp
6 PDBSymbolCompiland.cpp
7 PDBSymbolCompilandDetails.cpp
48 PDBSymbolCompilandEnv.cpp
59 PDBSymbolCustom.cpp
10 PDBSymbolData.cpp
11 PDBSymbolExe.cpp
12 PDBSymbolFunc.cpp
13 PDBSymbolFuncDebugEnd.cpp
14 PDBSymbolFuncDebugStart.cpp
15 PDBSymbolLabel.cpp
16 PDBSymbolPublicSymbol.cpp
17 PDBSymbolThunk.cpp
18 PDBSymbolTypeArray.cpp
19 PDBSymbolTypeBaseClass.cpp
20 PDBSymbolTypeBuiltin.cpp
21 PDBSymbolTypeCustom.cpp
22 PDBSymbolTypeDimension.cpp
23 PDBSymbolTypeEnum.cpp
24 PDBSymbolTypeFriend.cpp
25 PDBSymbolTypeFunctionArg.cpp
26 PDBSymbolTypeFunctionSig.cpp
27 PDBSymbolTypeManaged.cpp
28 PDBSymbolTypePointer.cpp
29 PDBSymbolTypeTypedef.cpp
30 PDBSymbolTypeUDT.cpp
31 PDBSymbolTypeVTable.cpp
32 PDBSymbolTypeVTableShape.cpp
33 PDBSymbolUnknown.cpp
34 PDBSymbolUsingNamespace.cpp
635 )
1616 #include "llvm/DebugInfo/PDB/IPDBSourceFile.h"
1717 #include "llvm/DebugInfo/PDB/IPDBRawSymbol.h"
1818
19 #include "llvm/DebugInfo/PDB/PDBSymbolAnnotation.h"
20 #include "llvm/DebugInfo/PDB/PDBSymbolBlock.h"
21 #include "llvm/DebugInfo/PDB/PDBSymbolCompiland.h"
22 #include "llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h"
23 #include "llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h"
24 #include "llvm/DebugInfo/PDB/PDBSymbolCustom.h"
25 #include "llvm/DebugInfo/PDB/PDBSymbolData.h"
26 #include "llvm/DebugInfo/PDB/PDBSymbolExe.h"
27 #include "llvm/DebugInfo/PDB/PDBSymbolFunc.h"
28 #include "llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h"
29 #include "llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h"
30 #include "llvm/DebugInfo/PDB/PDBSymbolLabel.h"
31 #include "llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h"
32 #include "llvm/DebugInfo/PDB/PDBSymbolThunk.h"
33 #include "llvm/DebugInfo/PDB/PDBSymbolTypeArray.h"
34 #include "llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h"
35 #include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
36 #include "llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h"
37 #include "llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h"
38 #include "llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h"
39 #include "llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h"
40 #include "llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h"
41 #include "llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h"
42 #include "llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h"
43 #include "llvm/DebugInfo/PDB/PDBSymbolTypePointer.h"
44 #include "llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h"
45 #include "llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h"
46 #include "llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h"
47 #include "llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h"
48 #include "llvm/DebugInfo/PDB/PDBSymbolUnknown.h"
49 #include "llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h"
50
5119 using namespace llvm;
5220
5321 IPDBSession::~IPDBSession() {}
5927 IPDBSourceFile::~IPDBSourceFile() {}
6028
6129 IPDBLineNumber::~IPDBLineNumber() {}
62
63 // All of the concrete symbol types have their methods declared inline through
64 // the use of a forwarding macro, so the constructor should be declared out of
65 // line to get the vtable in this file.
66 #define FORWARD_SYMBOL_CONSTRUCTOR(ClassName) \
67 ClassName::ClassName(std::unique_ptr Symbol) \
68 : PDBSymbol(std::move(Symbol)) {}
69
70 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolAnnotation)
71 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolBlock)
72 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolCompiland)
73 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolCompilandDetails)
74 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolCompilandEnv)
75 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolCustom)
76 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolData)
77 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolExe)
78 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolFunc)
79 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolFuncDebugEnd)
80 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolFuncDebugStart)
81 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolLabel)
82 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolPublicSymbol)
83 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolThunk)
84 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeArray)
85 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeBaseClass)
86 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeBuiltin)
87 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeCustom)
88 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeDimension)
89 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeEnum)
90 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeFriend)
91 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeFunctionArg)
92 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeFunctionSig)
93 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeManaged)
94 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypePointer)
95 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeTypedef)
96 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeUDT)
97 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeVTable)
98 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeVTableShape)
99 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolUnknown)
100 FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolUsingNamespace)
0 //===- PDBSymbolAnnotation.cpp - --------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolAnnotation.h"
13
14 using namespace llvm;
15
16 PDBSymbolAnnotation::PDBSymbolAnnotation(std::unique_ptr Symbol)
17 : PDBSymbol(std::move(Symbol)) {}
18
19 void PDBSymbolAnnotation::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolBlock.cpp - -------------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolBlock.h"
13
14 using namespace llvm;
15
16 PDBSymbolBlock::PDBSymbolBlock(std::unique_ptr Symbol)
17 : PDBSymbol(std::move(Symbol)) {}
18
19 void PDBSymbolBlock::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolCompiland.cpp - compiland details --------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/IPDBEnumChildren.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
13 #include "llvm/DebugInfo/PDB/PDBSymbolCompiland.h"
14 #include "llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h"
15 #include "llvm/Support/raw_ostream.h"
16
17 using namespace llvm;
18
19 PDBSymbolCompiland::PDBSymbolCompiland(std::unique_ptr Symbol)
20 : PDBSymbol(std::move(Symbol)) {}
21
22 void PDBSymbolCompiland::dump(llvm::raw_ostream &OS) const {
23 }
0 //===- PDBSymbolCompilandDetails.cpp - compiland details --------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h"
13
14 using namespace llvm;
15
16 PDBSymbolCompilandDetails::PDBSymbolCompilandDetails(
17 std::unique_ptr Symbol)
18 : PDBSymbol(std::move(Symbol)) {}
19
20 void PDBSymbolCompilandDetails::dump(llvm::raw_ostream &OS) const {}
1414
1515 using namespace llvm;
1616
17 PDBSymbolCompilandEnv::PDBSymbolCompilandEnv(
18 std::unique_ptr Symbol)
19 : PDBSymbol(std::move(Symbol)) {}
20
1721 std::string PDBSymbolCompilandEnv::getValue() const {
1822 // call RawSymbol->getValue() and convert the result to an std::string.
1923 return std::string();
2024 }
25
26 void PDBSymbolCompilandEnv::dump(llvm::raw_ostream &OS) const {}
1414
1515 using namespace llvm;
1616
17 PDBSymbolCustom::PDBSymbolCustom(std::unique_ptr CustomSymbol)
18 : PDBSymbol(std::move(CustomSymbol)) {}
19
1720 void PDBSymbolCustom::getDataBytes(llvm::SmallVector &bytes) {
1821 RawSymbol->getDataBytes(bytes);
1922 }
23
24 void PDBSymbolCustom::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolData.cpp - PDB data (e.g. variable) accessors ---*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include "llvm/DebugInfo/PDB/PDBSymbolData.h"
10
11 using namespace llvm;
12
13 PDBSymbolData::PDBSymbolData(std::unique_ptr DataSymbol)
14 : PDBSymbol(std::move(DataSymbol)) {}
15
16 void PDBSymbolData::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolExe.cpp - ---------------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolExe.h"
13 #include "llvm/Support/ConvertUTF.h"
14 #include "llvm/Support/FileSystem.h"
15 #include "llvm/Support/raw_ostream.h"
16
17 #if defined(_WIN32)
18 #include
19 #endif
20
21 using namespace llvm;
22
23 namespace {
24 std::string GuidToString(PDB_UniqueId *Id) {
25 #if defined(_WIN32)
26 GUID *Guid = reinterpret_cast(Id);
27 OLECHAR GuidBuf[40];
28 int Result = StringFromGUID2(*Guid, GuidBuf, 39);
29 const char *InputBytes = reinterpret_cast(GuidBuf);
30 std::string ResultString;
31 convertUTF16ToUTF8String(ArrayRef(InputBytes, Result * 2),
32 ResultString);
33 return ResultString;
34 #else
35 return std::string();
36 #endif
37 }
38 }
39
40 PDBSymbolExe::PDBSymbolExe(std::unique_ptr Symbol)
41 : PDBSymbol(std::move(Symbol)) {}
42
43 void PDBSymbolExe::dump(llvm::raw_ostream &OS) const {
44 }
0 //===- PDBSymbolFunc.cpp - --------------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolFunc.h"
13
14 using namespace llvm;
15
16 PDBSymbolFunc::PDBSymbolFunc(std::unique_ptr Symbol)
17 : PDBSymbol(std::move(Symbol)) {}
18
19 void PDBSymbolFunc::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolFuncDebugEnd.cpp - ------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h"
13
14 using namespace llvm;
15
16 PDBSymbolFuncDebugEnd::PDBSymbolFuncDebugEnd(
17 std::unique_ptr Symbol)
18 : PDBSymbol(std::move(Symbol)) {}
19
20 void PDBSymbolFuncDebugEnd::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolFuncDebugStart.cpp - ----------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h"
13
14 using namespace llvm;
15
16 PDBSymbolFuncDebugStart::PDBSymbolFuncDebugStart(
17 std::unique_ptr Symbol)
18 : PDBSymbol(std::move(Symbol)) {}
19
20 void PDBSymbolFuncDebugStart::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolLabel.cpp - -------------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolLabel.h"
13
14 using namespace llvm;
15
16 PDBSymbolLabel::PDBSymbolLabel(std::unique_ptr Symbol)
17 : PDBSymbol(std::move(Symbol)) {}
18
19 void PDBSymbolLabel::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolPublicSymbol.cpp - ------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h"
13
14 using namespace llvm;
15
16 PDBSymbolPublicSymbol::PDBSymbolPublicSymbol(
17 std::unique_ptr Symbol)
18 : PDBSymbol(std::move(Symbol)) {}
19
20 void PDBSymbolPublicSymbol::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolThunk.cpp - -------------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolThunk.h"
13
14 using namespace llvm;
15
16 PDBSymbolThunk::PDBSymbolThunk(std::unique_ptr Symbol)
17 : PDBSymbol(std::move(Symbol)) {}
18
19 void PDBSymbolThunk::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeArray.cpp - ---------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeArray.h"
13
14 using namespace llvm;
15
16 PDBSymbolTypeArray::PDBSymbolTypeArray(std::unique_ptr Symbol)
17 : PDBSymbol(std::move(Symbol)) {}
18
19 void PDBSymbolTypeArray::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeBaseClass.cpp - -----------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h"
13
14 using namespace llvm;
15
16 PDBSymbolTypeBaseClass::PDBSymbolTypeBaseClass(
17 std::unique_ptr Symbol)
18 : PDBSymbol(std::move(Symbol)) {}
19
20 void PDBSymbolTypeBaseClass::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeBuiltin.cpp - ------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
13
14 using namespace llvm;
15
16 PDBSymbolTypeBuiltin::PDBSymbolTypeBuiltin(
17 std::unique_ptr Symbol)
18 : PDBSymbol(std::move(Symbol)) {}
19
20 void PDBSymbolTypeBuiltin::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeCustom.cpp - --------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h"
13
14 using namespace llvm;
15
16 PDBSymbolTypeCustom::PDBSymbolTypeCustom(std::unique_ptr Symbol)
17 : PDBSymbol(std::move(Symbol)) {}
18
19 void PDBSymbolTypeCustom::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeDimension.cpp - --------------------------------*- C++
1 //-*-===//
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
11
12 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
13 #include "llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h"
14
15 using namespace llvm;
16
17 PDBSymbolTypeDimension::PDBSymbolTypeDimension(
18 std::unique_ptr Symbol)
19 : PDBSymbol(std::move(Symbol)) {}
20
21 void PDBSymbolTypeDimension::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeEnum.cpp - --------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h"
13
14 using namespace llvm;
15
16 PDBSymbolTypeEnum::PDBSymbolTypeEnum(std::unique_ptr Symbol)
17 : PDBSymbol(std::move(Symbol)) {}
18
19 void PDBSymbolTypeEnum::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeFriend.cpp - --------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h"
13
14 using namespace llvm;
15
16 PDBSymbolTypeFriend::PDBSymbolTypeFriend(std::unique_ptr Symbol)
17 : PDBSymbol(std::move(Symbol)) {}
18
19 void PDBSymbolTypeFriend::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeFunctionArg.cpp - --------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h"
13
14 using namespace llvm;
15
16 PDBSymbolTypeFunctionArg::PDBSymbolTypeFunctionArg(
17 std::unique_ptr Symbol)
18 : PDBSymbol(std::move(Symbol)) {}
19
20 void PDBSymbolTypeFunctionArg::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeFunctionSig.cpp - --------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h"
13
14 using namespace llvm;
15
16 PDBSymbolTypeFunctionSig::PDBSymbolTypeFunctionSig(
17 std::unique_ptr Symbol)
18 : PDBSymbol(std::move(Symbol)) {}
19
20 void PDBSymbolTypeFunctionSig::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymboTypelManaged.cpp - ------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h"
13
14 using namespace llvm;
15
16 PDBSymbolTypeManaged::PDBSymbolTypeManaged(
17 std::unique_ptr Symbol)
18 : PDBSymbol(std::move(Symbol)) {}
19
20 void PDBSymbolTypeManaged::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypePointer.cpp - --------------------------------*- C++
1 //-*-===//
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
11
12 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
13 #include "llvm/DebugInfo/PDB/PDBSymbolTypePointer.h"
14
15 using namespace llvm;
16
17 PDBSymbolTypePointer::PDBSymbolTypePointer(
18 std::unique_ptr Symbol)
19 : PDBSymbol(std::move(Symbol)) {}
20
21 void PDBSymbolTypePointer::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeTypedef.cpp - --------------------------------*- C++
1 //-*-===//
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
11
12 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
13 #include "llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h"
14
15 using namespace llvm;
16
17 PDBSymbolTypeTypedef::PDBSymbolTypeTypedef(
18 std::unique_ptr Symbol)
19 : PDBSymbol(std::move(Symbol)) {}
20
21 void PDBSymbolTypeTypedef::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeUDT.cpp - --------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h"
13
14 using namespace llvm;
15
16 PDBSymbolTypeUDT::PDBSymbolTypeUDT(std::unique_ptr Symbol)
17 : PDBSymbol(std::move(Symbol)) {}
18
19 void PDBSymbolTypeUDT::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeVTable.cpp - --------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h"
13
14 using namespace llvm;
15
16 PDBSymbolTypeVTable::PDBSymbolTypeVTable(std::unique_ptr Symbol)
17 : PDBSymbol(std::move(Symbol)) {}
18
19 void PDBSymbolTypeVTable::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolTypeVTableShape.cpp - ---------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h"
13
14 using namespace llvm;
15
16 PDBSymbolTypeVTableShape::PDBSymbolTypeVTableShape(
17 std::unique_ptr Symbol)
18 : PDBSymbol(std::move(Symbol)) {}
19
20 void PDBSymbolTypeVTableShape::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolUnknown.cpp - -----------------------------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolUnknown.h"
13
14 using namespace llvm;
15
16 PDBSymbolUnknown::PDBSymbolUnknown(std::unique_ptr Symbol)
17 : PDBSymbol(std::move(Symbol)) {}
18
19 void PDBSymbolUnknown::dump(llvm::raw_ostream &OS) const {}
0 //===- PDBSymbolUsingNamespace.cpp - ------------------- --------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include
10
11 #include "llvm/DebugInfo/PDB/PDBSymbol.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h"
13
14 using namespace llvm;
15
16 PDBSymbolUsingNamespace::PDBSymbolUsingNamespace(
17 std::unique_ptr Symbol)
18 : PDBSymbol(std::move(Symbol)) {}
19
20 void PDBSymbolUsingNamespace::dump(llvm::raw_ostream &OS) const {}
8787 }
8888
8989 void getDataBytes(llvm::SmallVector &bytes) const override {}
90 void getFrontEndVersion(VersionInfo &Version) const override {}
91 void getBackEndVersion(VersionInfo &Version) const override {}
9092
9193 PDB_SymType getSymTag() const override { return Type; }
9294
9597 MOCK_SYMBOL_ACCESSOR(getAddressSection)
9698 MOCK_SYMBOL_ACCESSOR(getAge)
9799 MOCK_SYMBOL_ACCESSOR(getArrayIndexTypeId)
98 MOCK_SYMBOL_ACCESSOR(getBackEndBuild)
99 MOCK_SYMBOL_ACCESSOR(getBackEndMajor)
100 MOCK_SYMBOL_ACCESSOR(getBackEndMinor)
101100 MOCK_SYMBOL_ACCESSOR(getBaseDataOffset)
102101 MOCK_SYMBOL_ACCESSOR(getBaseDataSlot)
103102 MOCK_SYMBOL_ACCESSOR(getBaseSymbolId)
108107 MOCK_SYMBOL_ACCESSOR(getCompilerName)
109108 MOCK_SYMBOL_ACCESSOR(getCount)
110109 MOCK_SYMBOL_ACCESSOR(getCountLiveRanges)
111 MOCK_SYMBOL_ACCESSOR(getFrontEndBuild)
112 MOCK_SYMBOL_ACCESSOR(getFrontEndMajor)
113 MOCK_SYMBOL_ACCESSOR(getFrontEndMinor)
114110 MOCK_SYMBOL_ACCESSOR(getLanguage)
115111 MOCK_SYMBOL_ACCESSOR(getLexicalParentId)
116112 MOCK_SYMBOL_ACCESSOR(getLibraryName)