public virtual void PostWalk(Arg node) { }
public CallExpr(Expr target, Arg[] args) { _target = target; _args = args; }
// Arg public virtual bool Walk(Arg node) { return true; }
public override void PostWalk(Arg node) { }
// Arg public override bool Walk(Arg node) { return false; }
private Arg ParseArg() { Arg ret; int start = GetStart(); Expr value = ParseExpr(); IdentifierExpr n = value as IdentifierExpr; if (n != null) { string name = n.Name; int end = GetEnd(); if (MaybeEat(TokenType.Colon)) { value = ParseExpr(); ret = new Arg(name, value); ret.SetLoc(_globalParent, start, GetEnd()); return ret; } } ret = new Arg(value); ret.SetLoc(_globalParent, value.IndexSpan); return ret; }
// Arg public override bool Walk(Arg node) { node.Parent = _currentScope; return base.Walk(node); }