diff options
author | Brad King <brad.king@kitware.com> | 2016-04-19 19:57:49 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-04-19 19:59:08 (GMT) |
commit | 87b57e88755f130159b759b8a9954c362bc463d4 (patch) | |
tree | 3af9e927797da3fe1cc75adc662fb847d91dca17 /src/build.cc | |
parent | 10ef5bf7f965b92e79777309f62ffc3fc9787065 (diff) | |
download | Ninja-87b57e88755f130159b759b8a9954c362bc463d4.zip Ninja-87b57e88755f130159b759b8a9954c362bc463d4.tar.gz Ninja-87b57e88755f130159b759b8a9954c362bc463d4.tar.bz2 |
Improve Plan::EdgeFinished signature
Use an enumeration instead of a boolean to clarify the purpose of
arguments at call sites.
Suggested-by: Nico Weber <nicolasweber@gmx.de>
Diffstat (limited to 'src/build.cc')
-rw-r--r-- | src/build.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/build.cc b/src/build.cc index 0971a87..3a17bdb 100644 --- a/src/build.cc +++ b/src/build.cc @@ -385,7 +385,7 @@ void Plan::ScheduleWork(Edge* edge) { } } -void Plan::EdgeFinished(Edge* edge, bool success) { +void Plan::EdgeFinished(Edge* edge, EdgeResult result) { map<Edge*, bool>::iterator e = want_.find(edge); assert(e != want_.end()); bool directly_wanted = e->second; @@ -396,7 +396,7 @@ void Plan::EdgeFinished(Edge* edge, bool success) { edge->pool()->RetrieveReadyEdges(&ready_); // The rest of this function only applies to successful commands. - if (!success) + if (result != kEdgeSucceeded) return; if (directly_wanted) @@ -426,7 +426,7 @@ void Plan::NodeFinished(Node* node) { } else { // We do not need to build this edge, but we might need to build one of // its dependents. - EdgeFinished(*oe, true); + EdgeFinished(*oe, kEdgeSucceeded); } } } @@ -659,7 +659,7 @@ bool Builder::Build(string* err) { } if (edge->is_phony()) { - plan_.EdgeFinished(edge, true); + plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); } else { ++pending_commands; } @@ -779,7 +779,7 @@ bool Builder::FinishCommand(CommandRunner::Result* result, string* err) { // The rest of this function only applies to successful commands. if (!result->success()) { - plan_.EdgeFinished(edge, false); + plan_.EdgeFinished(edge, Plan::kEdgeFailed); return true; } @@ -830,7 +830,7 @@ bool Builder::FinishCommand(CommandRunner::Result* result, string* err) { } } - plan_.EdgeFinished(edge, true); + plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); // Delete any left over response file. string rspfile = edge->GetUnescapedRspfile(); |