1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-20 12:53:55 +08:00

cmListFileBacktrace: Replace local generator with cmState::Snapshot.

Construct cmOutputConverter only when needed.
This commit is contained in:
Stephen Kelly
2015-06-04 20:00:14 +02:00
parent 1cff330b0f
commit 242dcc2c22
3 changed files with 10 additions and 10 deletions

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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)