// UnaryExpr public virtual bool Walk(UnaryExpr node) { return true; }
public virtual void PostWalk(UnaryExpr node) { }
public override void PostWalk(UnaryExpr node) { }
// UnaryExpr public override bool Walk(UnaryExpr node) { return false; }
private Expr ParsePostfixedExpr() { Expr ret = ParseCallOrNewExpr(); if (ret == null) return ret; TotemOperator op; while (IsPostfixToken(PeekToken(), out op)) { Token t = NextToken(); var start = ret.StartIndex; ret = new UnaryExpr(op, ret); ret.SetLoc(_globalParent, start, GetEnd()); } return ret; }
private Expr ParsePrefixedExpr() { int start; Token t; Expr ret; TotemOperator op; if (IsPrefixToken(PeekToken(), out op)) { t = NextToken(); start = GetStart(); ret = new UnaryExpr(op, ParsePrefixedExpr()); ret.SetLoc(_globalParent, start, GetEnd()); return ret; } else { return ParsePostfixedExpr(); } }
// UnaryExpr public override bool Walk(UnaryExpr node) { node.Parent = _currentScope; return base.Walk(node); }