/// <summary> /// Applies the <paramref name="visitor"/> to all nodes in this collection. /// </summary> public void AcceptVisitor(IJsNodeVisitor visitor) { JsNode next; for (JsNode cur = node.FirstChild; cur != null; cur = next) { Debug.Assert(cur.Parent == node); // Remember next before yielding cur. // This allows removing/replacing nodes while iterating through the list. next = cur.NextSibling; if (cur.Role == role) { cur.AcceptVisitor(visitor); } } }
public override void AcceptVisitor(IJsNodeVisitor visitor) => visitor.VisitIdentifier(this);
public override void AcceptVisitor(IJsNodeVisitor visitor) => visitor.VisitSymbolicParameter(this);
public override void AcceptVisitor(IJsNodeVisitor visitor) => visitor.VisitNewExpression(this);
public override R Visit <R>(IJsNodeVisitor <R> visitor) { return(visitor.Visit(this)); }
public override void AcceptVisitor(IJsNodeVisitor visitor) => visitor.VisitParenthesizedExpression(this);
public virtual void Visit(IJsNodeVisitor visitor) { visitor.Visit(this); }
public override void Visit(IJsNodeVisitor visitor) { visitor.Visit(this); }
public virtual R Visit <R>(IJsNodeVisitor <R> visitor) { return(visitor.Visit(this)); }
public override void AcceptVisitor(IJsNodeVisitor visitor) => visitor.VisitExpressionStatement(this);
public override void AcceptVisitor(IJsNodeVisitor visitor) => visitor.VisitBlockStatement(this);
public override void AcceptVisitor(IJsNodeVisitor visitor) => visitor.VisitConditionalExpression(this);
public abstract void AcceptVisitor(IJsNodeVisitor visitor);