diff options
Diffstat (limited to 'src/manifest_parser.h')
-rw-r--r-- | src/manifest_parser.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/manifest_parser.h b/src/manifest_parser.h index f72cd6f..043e4b2 100644 --- a/src/manifest_parser.h +++ b/src/manifest_parser.h @@ -23,17 +23,18 @@ using namespace std; struct BindingEnv; struct EvalString; +struct FileReader; struct State; +enum DupeEdgeAction { + kDupeEdgeActionWarn, + kDupeEdgeActionError, +}; + /// Parses .ninja files. struct ManifestParser { - struct FileReader { - virtual ~FileReader() {} - virtual bool ReadFile(const string& path, string* content, string* err) = 0; - }; - ManifestParser(State* state, FileReader* file_reader, - bool dupe_edge_should_err = false); + DupeEdgeAction dupe_edge_action); /// Load and parse a file. bool Load(const string& filename, string* err, Lexer* parent = NULL); @@ -66,7 +67,7 @@ private: BindingEnv* env_; FileReader* file_reader_; Lexer lexer_; - bool dupe_edge_should_err_; + DupeEdgeAction dupe_edge_action_; bool quiet_; }; |