diff options
| author | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-08-01 17:43:40 +0200 |
|---|---|---|
| committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-08-02 10:43:22 +0200 |
| commit | 7893c2b986c8f767e2cc747e98efcc6b48aec05f (patch) | |
| tree | bcebc06bdbf45d441d7e21c9171e643d2e04013f /src/lib/buildgraph/buildgraphloader.cpp | |
| parent | c0e44c33033366b33fa9429972ed76262ec0dcbd (diff) | |
| download | qbs-7893c2b986c8f767e2cc747e98efcc6b48aec05f.tar.gz | |
remove Artifact::topLevelProject
Every artifact has a product now. That product points to its top level
project. Artifact::topLevelProject can go.
Change-Id: I7a7ec921043b64eec6c704128ae465fd9ef05031
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/lib/buildgraph/buildgraphloader.cpp')
| -rw-r--r-- | src/lib/buildgraph/buildgraphloader.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/lib/buildgraph/buildgraphloader.cpp b/src/lib/buildgraph/buildgraphloader.cpp index 340e70cba..fbaeae2b4 100644 --- a/src/lib/buildgraph/buildgraphloader.cpp +++ b/src/lib/buildgraph/buildgraphloader.cpp @@ -77,10 +77,8 @@ static void restoreBackPointers(const ResolvedProjectPtr &project) product->project = project; if (!product->buildData) continue; - foreach (Artifact * const a, product->buildData->artifacts) { - a->topLevelProject = project->topLevelProject(); + foreach (Artifact * const a, product->buildData->artifacts) project->topLevelProject()->buildData->insertIntoLookupTable(a); - } } foreach (const ResolvedProjectPtr &subProject, project->subProjects) { @@ -238,10 +236,8 @@ void BuildGraphLoader::trackProjectChanges(const SetupProjectParameters ¶met if (newlyResolvedProduct->name == restoredProduct->name) { newlyResolvedProduct->buildData.swap(restoredProduct->buildData); if (newlyResolvedProduct->buildData) { - foreach (Artifact * const a, newlyResolvedProduct->buildData->artifacts) { + foreach (Artifact * const a, newlyResolvedProduct->buildData->artifacts) a->product = newlyResolvedProduct; - a->topLevelProject = newlyResolvedProduct->topLevelProject(); - } } // Keep in list if build data still needs to be resolved. @@ -496,20 +492,21 @@ void BuildGraphLoader::removeArtifactAndExclusiveDependents(Artifact *artifact, { if (removedArtifacts) removedArtifacts->insert(artifact); + TopLevelProject * const project = artifact->product->topLevelProject(); foreach (Artifact *parent, artifact->parents) { bool removeParent = false; disconnect(parent, artifact, m_logger); if (parent->children.isEmpty()) { removeParent = true; } else if (parent->transformer) { - artifact->topLevelProject->buildData->artifactsThatMustGetNewTransformers += parent; + project->buildData->artifactsThatMustGetNewTransformers += parent; parent->transformer->inputs.remove(artifact); removeParent = parent->transformer->inputs.isEmpty(); } if (removeParent) removeArtifactAndExclusiveDependents(parent, removedArtifacts); } - artifact->topLevelProject->buildData->removeArtifact(artifact, m_logger); + project->buildData->removeArtifact(artifact, m_logger); } bool BuildGraphLoader::checkForPropertyChanges(const TransformerPtr &restoredTrafo, |
