DebugInfoPDB: Make the symbol base case hold an IPDBSession ref.
[oota-llvm.git] / include / llvm / DebugInfo / PDB / PDBSymbol.h
index 8033e476657db2630b37bfcff5dd69396e0e8b23..b65089dd028b6ceeb46d21b2f5fc9b0f9206d9d9 100644 (file)
@@ -36,11 +36,11 @@ class raw_ostream;
 /// https://msdn.microsoft.com/en-us/library/370hs6k4.aspx
 class PDBSymbol {
 protected:
 /// https://msdn.microsoft.com/en-us/library/370hs6k4.aspx
 class PDBSymbol {
 protected:
-  PDBSymbol(std::unique_ptr<IPDBRawSymbol> Symbol);
+  PDBSymbol(IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol);
 
 public:
   static std::unique_ptr<PDBSymbol>
 
 public:
   static std::unique_ptr<PDBSymbol>
-  create(std::unique_ptr<IPDBRawSymbol> Symbol);
+  create(IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol);
 
   virtual ~PDBSymbol();
 
 
   virtual ~PDBSymbol();
 
@@ -62,6 +62,7 @@ public:
   std::unique_ptr<IPDBEnumSymbols> findInlineFramesByRVA(uint32_t RVA) const;
 
 protected:
   std::unique_ptr<IPDBEnumSymbols> findInlineFramesByRVA(uint32_t RVA) const;
 
 protected:
+  IPDBSession &Session;
   const std::unique_ptr<IPDBRawSymbol> RawSymbol;
 };
 
   const std::unique_ptr<IPDBRawSymbol> RawSymbol;
 };