Home | History | Annotate | Download | only in kati

Lines Matching refs:Value

40 Value::Value() {
43 Value::~Value() {
46 string Value::DebugString() const {
47 if (static_cast<const Value*>(this)) {
53 class Literal : public Value {
76 class Expr : public Value {
82 for (Value* v : vals_) {
88 void AddValue(Value* v) {
93 for (Value* v : vals_) {
100 for (Value* v : vals_) {
113 virtual Value* Compact() override {
117 Value* r = vals_[0];
124 vector<Value*> vals_;
127 class SymRef : public Value {
148 class VarRef : public Value {
150 explicit VarRef(Value* n)
170 Value* name_;
173 class VarSubst : public Value {
175 explicit VarSubst(Value* n, Value* p, Value* s)
191 const string&& value = v->Eval(ev);
194 for (StringPiece tok : WordScanner(value)) {
208 Value* name_;
209 Value* pat_;
210 Value* subst_;
213 class Func : public Value {
220 for (Value* a : args_)
237 void AddArg(Value* v) {
249 vector<Value*> args_;
314 Value* v = ParseExprImpl(loc, s.substr(i), terms, ParseExprOpt::FUNC,
343 Value* ParseDollar(const Loc& loc, StringPiece s, size_t* index_out) {
357 Value* vname = ParseExprImpl(loc, s.substr(i), terms,
372 Value* r = new SymRef(sym);
407 Value* pat = ParseExprImpl(loc, s.substr(i+1), terms,
420 Value* subst = ParseExprImpl(loc, s.substr(i+1), terms,
440 Value* ParseExprImpl(const Loc& loc,
490 Value* v = ParseDollar(loc, s.substr(i), &n);
567 Value* ParseExpr(const Loc& loc, StringPiece s, ParseExprOpt opt) {
572 string JoinValues(const vector<Value*>& vals, const char* sep) {
574 for (Value* v : vals) {
580 Value* NewExpr2(Value* v1, Value* v2) {
587 Value* NewExpr3(Value* v1, Value* v2, Value* v3) {
595 Value* NewLiteral(StringPiece s) {