Procházet zdrojové kódy

cmListFileBacktrace: Replace local generator with cmState::Snapshot.

Construct cmOutputConverter only when needed.
Stephen Kelly před 10 roky
rodič
revize
242dcc2c22
3 změnil soubory, kde provedl 10 přidání a 10 odebrání
  1. 4 4
      Source/cmListFileCache.cxx
  2. 4 4
      Source/cmListFileCache.h
  3. 2 2
      Source/cmMakefile.cxx

+ 4 - 4
Source/cmListFileCache.cxx

@@ -412,9 +412,9 @@ void cmListFileBacktrace::PrintTitle(std::ostream& out)
     return;
     }
 
+  cmOutputConverter converter(this->Snapshot);
   cmListFileContext lfc = this->front();
-  lfc.FilePath = this->LocalGenerator->Convert(lfc.FilePath,
-                                               cmLocalGenerator::HOME);
+  lfc.FilePath = converter.Convert(lfc.FilePath, cmOutputConverter::HOME);
   out << (lfc.Line ? " at " : " in ") << lfc;
 }
 
@@ -425,13 +425,13 @@ void cmListFileBacktrace::PrintCallStack(std::ostream& out)
     return;
     }
 
+  cmOutputConverter converter(this->Snapshot);
   const_iterator i = this->begin() + 1;
   out << "Call Stack (most recent call first):\n";
   while(i != this->end())
     {
     cmListFileContext lfc = *i;
-    lfc.FilePath = this->LocalGenerator->Convert(lfc.FilePath,
-                                                 cmLocalGenerator::HOME);
+    lfc.FilePath = converter.Convert(lfc.FilePath, cmOutputConverter::HOME);
     out << "  " << lfc << "\n";
     ++i;
     }

+ 4 - 4
Source/cmListFileCache.h

@@ -14,7 +14,7 @@
 
 #include "cmStandardIncludes.h"
 
-class cmLocalGenerator;
+#include "cmState.h"
 
 /** \class cmListFileCache
  * \brief A class to cache list file contents.
@@ -74,8 +74,8 @@ struct cmListFileFunction: public cmListFileContext
 class cmListFileBacktrace: private std::vector<cmListFileContext>
 {
   public:
-    cmListFileBacktrace(cmLocalGenerator* localGen = 0)
-      : LocalGenerator(localGen)
+    cmListFileBacktrace(cmState::Snapshot snapshot = cmState::Snapshot())
+      : Snapshot(snapshot)
     {
     }
 
@@ -84,7 +84,7 @@ class cmListFileBacktrace: private std::vector<cmListFileContext>
     void PrintTitle(std::ostream& out);
     void PrintCallStack(std::ostream& out);
   private:
-    cmLocalGenerator* LocalGenerator;
+    cmState::Snapshot Snapshot;
 };
 
 struct cmListFile

+ 2 - 2
Source/cmMakefile.cxx

@@ -277,7 +277,7 @@ void cmMakefile::IssueMessage(cmake::MessageType t,
 //----------------------------------------------------------------------------
 cmListFileBacktrace cmMakefile::GetBacktrace() const
 {
-  cmListFileBacktrace backtrace(this->GetLocalGenerator());
+  cmListFileBacktrace backtrace(this->StateSnapshot);
   for(CallStackType::const_reverse_iterator i = this->CallStack.rbegin();
       i != this->CallStack.rend(); ++i)
     {
@@ -290,7 +290,7 @@ cmListFileBacktrace cmMakefile::GetBacktrace() const
 cmListFileBacktrace
 cmMakefile::GetBacktrace(cmListFileContext const& lfc) const
 {
-  cmListFileBacktrace backtrace(this->GetLocalGenerator());
+  cmListFileBacktrace backtrace(this->StateSnapshot);
   backtrace.Append(lfc);
   for(CallStackType::const_reverse_iterator i = this->CallStack.rbegin();
       i != this->CallStack.rend(); ++i)