• Home
  • Raw
  • Download

Lines Matching refs:ast

23 type ast interface {  interface
36 func (ast *assignAST) eval(ev *Evaluator) error {
37 return ev.evalAssign(ast)
40 func (ast *assignAST) evalRHS(ev *Evaluator, lhs string) (Var, error) {
42 if ast.filename == bootstrapMakefileName {
45 if ast.opt == "override" {
49 switch ast.op {
51 switch v := ast.rhs.(type) {
66 return &recursiveVar{expr: ast.rhs, origin: origin}, nil
70 return &recursiveVar{expr: ast.rhs, origin: origin}, nil
72 return prev.AppendVar(ev, ast.rhs)
78 return &recursiveVar{expr: ast.rhs, origin: origin}, nil
80 return nil, ast.errorf("unknown assign op: %q", ast.op)
83 func (ast *assignAST) show() {
84 glog.Infof("%s %s %s %q", ast.opt, ast.lhs, ast.op, ast.rhs)
98 func (ast *maybeRuleAST) eval(ev *Evaluator) error {
99 return ev.evalMaybeRule(ast)
102 func (ast *maybeRuleAST) show() {
103 glog.Info(ast.expr)
111 func (ast *commandAST) eval(ev *Evaluator) error {
112 return ev.evalCommand(ast)
115 func (ast *commandAST) show() {
116 glog.Infof("\t%s", strings.Replace(ast.cmd, "\n", `\n`, -1))
125 func (ast *includeAST) eval(ev *Evaluator) error {
126 return ev.evalInclude(ast)
129 func (ast *includeAST) show() {
130 glog.Infof("include %s", ast.expr)
138 trueStmts []ast
139 falseStmts []ast
142 func (ast *ifAST) eval(ev *Evaluator) error {
143 return ev.evalIf(ast)
146 func (ast *ifAST) show() {
158 func (ast *exportAST) eval(ev *Evaluator) error {
159 return ev.evalExport(ast)
162 func (ast *exportAST) show() {
172 func (ast *vpathAST) eval(ev *Evaluator) error {
173 return ev.evalVpath(ast)
176 func (ast *vpathAST) show() {
177 glog.Infof("vpath %s", ast.expr.String())