20 map<string, string>::iterator i =
bindings_.find(var);
38 map<string, const Rule*>::iterator i =
rules_.find(rule_name);
45 map<string, const Rule*>::iterator i =
rules_.find(rule_name);
58 Bindings::const_iterator i =
bindings_.find(key);
66 return var ==
"command" ||
68 var ==
"description" ||
74 var ==
"rspfile_content" ||
75 var ==
"msvc_deps_prefix";
85 map<string, string>::iterator i =
bindings_.find(var);
100 for (TokenList::const_iterator i =
parsed_.begin(); i !=
parsed_.end(); ++i) {
101 if (i->second ==
RAW)
102 result.append(i->first);
123 for (TokenList::const_iterator i =
parsed_.begin();
128 result.append(i->first);
static bool IsReservedBinding(const string &var)
string Evaluate(Env *env) const
const map< string, const Rule * > & GetRules() const
map< string, const Rule * > rules_
map< string, string > bindings_
const Rule * LookupRule(const string &rule_name)
StringPiece represents a slice of a string whose memory is managed externally.
const Rule * LookupRuleCurrentScope(const string &rule_name)
void AddSpecial(StringPiece text)
void AddRule(const Rule *rule)
virtual string LookupVariable(const string &var)=0
An invokable build command and associated metadata (description, etc.).
virtual string LookupVariable(const string &var)
string LookupWithFallback(const string &var, const EvalString *eval, Env *env)
This is tricky.
const EvalString * GetBinding(const string &key) const
void AddBinding(const string &key, const EvalString &val)
string Serialize() const
Construct a human-readable representation of the parsed state, for use in tests.
const string & name() const
void AddBinding(const string &key, const string &val)
void AddText(StringPiece text)
A tokenized string that contains variable references.
An interface for a scope for variable (e.g. "$foo") lookups.
string AsString() const
Convert the slice into a full-fledged std::string, copying the data into a new string.