Lines Matching defs:err

34                          string* err) {
46 return lexer_.Error("expected 'ninja_dyndep_version = ...'", err);
47 if (!ParseEdge(err))
55 err);
56 if (!ParseDyndepVersion(err))
62 return lexer_.Error(lexer_.DescribeLastError(), err);
65 return lexer_.Error("expected 'ninja_dyndep_version = ...'", err);
71 err);
77 bool DyndepParser::ParseDyndepVersion(string* err) {
80 if (!ParseLet(&name, &let_value, err))
83 return lexer_.Error("expected 'ninja_dyndep_version = ...'", err);
90 string("unsupported 'ninja_dyndep_version = ") + version + "'", err);
96 bool DyndepParser::ParseLet(string* key, EvalString* value, string* err) {
98 return lexer_.Error("expected variable name", err);
99 if (!ExpectToken(Lexer::EQUALS, err))
101 if (!lexer_.ReadVarValue(value, err))
106 bool DyndepParser::ParseEdge(string* err) {
112 if (!lexer_.ReadPath(&out0, err))
115 return lexer_.Error("expected path", err);
119 return lexer_.Error("empty path", err);
124 return lexer_.Error("no build statement exists for '" + path + "'", err);
129 return lexer_.Error("multiple statements for '" + path + "'", err);
136 if (!lexer_.ReadPath(&out, err))
139 return lexer_.Error("explicit outputs not supported", err);
147 if (!lexer_.ReadPath(&out, err))
148 return err;
155 if (!ExpectToken(Lexer::COLON, err))
160 return lexer_.Error("expected build command name 'dyndep'", err);
165 if (!lexer_.ReadPath(&in, err))
168 return lexer_.Error("explicit inputs not supported", err);
176 if (!lexer_.ReadPath(&in, err))
177 return err;
186 return lexer_.Error("order-only inputs not supported", err);
188 if (!ExpectToken(Lexer::NEWLINE, err))
194 if (!ParseLet(&key, &val, err))
197 return lexer_.Error("binding is not 'restat'", err);
206 return lexer_.Error("empty path", err);
217 return lexer_.Error("empty path", err);