cmState: Internalize the initialization of a snapshot from its parent.

This commit is contained in:
Stephen Kelly 2015-10-06 00:33:49 +02:00
parent 6c02f62f75
commit 28749903b6
3 changed files with 5 additions and 4 deletions

View File

@ -1761,8 +1761,6 @@ void cmMakefile::AddSubDirectory(const std::string& srcPath,
this->ContextStack.back()->Name,
this->ContextStack.back()->Line);
newSnapshot.InitializeFromParent();
newSnapshot.GetDirectory().SetCurrentSource(srcPath);
newSnapshot.GetDirectory().SetCurrentBinary(binPath);

View File

@ -805,8 +805,10 @@ cmState::CreateBuildsystemDirectorySnapshot(Snapshot originSnapshot,
pos->Parent = origin;
pos->Root = origin;
pos->Vars = this->VarTree.Extend(origin);
cmState::Snapshot snapshot = cmState::Snapshot(this, pos);
originSnapshot.Position->BuildSystemDirectory->Children.push_back(snapshot);
snapshot.InitializeFromParent();
return snapshot;
}

View File

@ -75,8 +75,6 @@ public:
Snapshot GetCallStackParent() const;
SnapshotType GetType() const;
void InitializeFromParent();
void SetPolicy(cmPolicies::PolicyID id, cmPolicies::PolicyStatus status);
cmPolicies::PolicyStatus GetPolicy(cmPolicies::PolicyID id) const;
bool HasDefinedPolicyCMP0011();
@ -105,6 +103,9 @@ public:
friend class cmState;
friend class Directory;
friend struct StrictWeakOrder;
void InitializeFromParent();
cmState* State;
cmState::PositionType Position;
};