From 00178d1c2dd6e8d426cc4c7425a5d43273514d2b Mon Sep 17 00:00:00 2001 From: Fumitoshi Ukai Date: Sat, 18 Apr 2015 00:11:05 +0900 Subject: minor performance tuning before: % ./run_integration_test.rb android Running make for android... 5.76 secs Running kati for android... 17.29 secs android: OK PASS! after: % ./run_integration_test.rb android Running make for android... 5.83 secs Running kati for android... 14.55 secs android: OK PASS! --- ast.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'ast.go') diff --git a/ast.go b/ast.go index b190536..678f2b0 100644 --- a/ast.go +++ b/ast.go @@ -36,7 +36,11 @@ func (ast *AssignAST) evalRHS(ev *Evaluator, lhs string) Var { } switch ast.op { case ":=": - return SimpleVar{value: ev.evalExprBytes(ast.rhs), origin: origin} + rexpr, _, err := parseExpr([]byte(ast.rhs), nil) + if err != nil { + panic(fmt.Errorf("parse assign rhs %s:%d %v", ast.filename, ast.lineno, err)) + } + return SimpleVar{value: ev.Value(rexpr), origin: origin} case "=": v, _, err := parseExpr([]byte(ast.rhs), nil) if err != nil { -- cgit v1.2.3