summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2012-10-02 19:05:29 (GMT)
committerEvan Martin <martine@danga.com>2012-10-02 19:05:29 (GMT)
commit8bd8d170e9816bb602d3efbb1d90844762b5ad12 (patch)
tree9396f72dd5840be01a89c9f06e13970936b23d70
parent733b2bdf16c0aee601c78828d6b19549aed51c6c (diff)
parent5cd579de4e0aff88f23b580610214ae17ebda330 (diff)
downloadNinja-8bd8d170e9816bb602d3efbb1d90844762b5ad12.zip
Ninja-8bd8d170e9816bb602d3efbb1d90844762b5ad12.tar.gz
Ninja-8bd8d170e9816bb602d3efbb1d90844762b5ad12.tar.bz2
Merge pull request #436 from tfarina/dry-run-unnamed-namespace
Move DryRunCommandRunner into a unnamed namespace.
-rw-r--r--src/build.cc63
1 files changed, 39 insertions, 24 deletions
diff --git a/src/build.cc b/src/build.cc
index a2f2720..9877db8 100644
--- a/src/build.cc
+++ b/src/build.cc
@@ -38,6 +38,45 @@
#include "subprocess.h"
#include "util.h"
+namespace {
+
+/// A CommandRunner that doesn't actually run the commands.
+class DryRunCommandRunner : public CommandRunner {
+ public:
+ virtual ~DryRunCommandRunner() {}
+
+ // Overridden from CommandRunner:
+ virtual bool CanRunMore();
+ virtual bool StartCommand(Edge* edge);
+ virtual Edge* WaitForCommand(ExitStatus* status, string* /* output */);
+
+ private:
+ queue<Edge*> finished_;
+};
+
+bool DryRunCommandRunner::CanRunMore() {
+ return true;
+}
+
+bool DryRunCommandRunner::StartCommand(Edge* edge) {
+ finished_.push(edge);
+ return true;
+}
+
+Edge* DryRunCommandRunner::WaitForCommand(ExitStatus* status,
+ string* /*output*/) {
+ if (finished_.empty()) {
+ *status = ExitFailure;
+ return NULL;
+ }
+ *status = ExitSuccess;
+ Edge* edge = finished_.front();
+ finished_.pop();
+ return edge;
+}
+
+} // namespace
+
BuildStatus::BuildStatus(const BuildConfig& config)
: config_(config),
start_time_millis_(GetTimeMillis()),
@@ -528,30 +567,6 @@ Edge* RealCommandRunner::WaitForCommand(ExitStatus* status, string* output) {
return edge;
}
-/// A CommandRunner that doesn't actually run the commands.
-struct DryRunCommandRunner : public CommandRunner {
- virtual ~DryRunCommandRunner() {}
- virtual bool CanRunMore() {
- return true;
- }
- virtual bool StartCommand(Edge* edge) {
- finished_.push(edge);
- return true;
- }
- virtual Edge* WaitForCommand(ExitStatus* status, string* /* output */) {
- if (finished_.empty()) {
- *status = ExitFailure;
- return NULL;
- }
- *status = ExitSuccess;
- Edge* edge = finished_.front();
- finished_.pop();
- return edge;
- }
-
- queue<Edge*> finished_;
-};
-
Builder::Builder(State* state, const BuildConfig& config,
BuildLog* log, DiskInterface* disk_interface)
: state_(state), config_(config), disk_interface_(disk_interface),