// ActionExpression private void DefaultWalk(ActionExpression node) { if (Walk(node)) { foreach (Expression ex in node.Arguments) { WalkNode(ex); } } PostWalk(node); }
// ActionExpression private Expression Rewrite(ActionExpression node) { Expression[] clone, comma; if (RewriteExpressions(node.Arguments, out clone, out comma)) { comma[comma.Length - 1] = Ast.Action.ActionExpression(node.Action, clone, node.Type); return(Ast.Comma(comma)); } else { return(node); } }
// ActionExpression private void Dump(ActionExpression node) { Out(".action", Flow.Space); Out(FormatAction(node.Action)); Out("("); Indent(); NewLine(); foreach (Expression arg in node.Arguments) { WalkNode(arg); NewLine(); } Dedent(); Out(")"); }