diff options
author | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2015-06-04 14:20:44 +0900 |
---|---|---|
committer | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2015-06-04 14:20:44 +0900 |
commit | 2d4b6054d60d42c12e049a9f83beaf4beaed4514 (patch) | |
tree | 1e526b8cfe438df448662a5605f1b4322f8d32b6 /eval.go | |
parent | 171a3dff6fcecaa75b6342ea325c2db05121a0fd (diff) | |
download | kati-2d4b6054d60d42c12e049a9f83beaf4beaed4514.tar.gz |
Use Value instead of []byte in MaybeRuleAST
Diffstat (limited to 'eval.go')
-rw-r--r-- | eval.go | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -121,11 +121,7 @@ func (ev *Evaluator) evalMaybeRule(ast *MaybeRuleAST) { ev.filename = ast.filename ev.lineno = ast.lineno - expr := ast.expr - lexpr, _, err := parseExpr(expr, nil) - if err != nil { - panic(fmt.Errorf("parse %s:%d %v", ev.filename, ev.lineno, err)) - } + lexpr := ast.expr buf := newBuf() lexpr.Eval(buf, ev) line := buf.Bytes() @@ -156,11 +152,12 @@ func (ev *Evaluator) evalMaybeRule(ast *MaybeRuleAST) { if assign != nil { if ast.term == ';' { - // TODO(ukai): reuse lexpr above? - lexpr, _, err := parseExpr(append(ast.expr, ast.afterTerm...), nil) + nexpr, _, err := parseExpr(ast.afterTerm, nil) if err != nil { panic(fmt.Errorf("parse %s:%d %v", ev.filename, ev.lineno, err)) } + lexpr = Expr{lexpr, nexpr} + buf = newBuf() lexpr.Eval(buf, ev) assign, err = rule.parse(buf.Bytes()) |