/// <summary> /// Accept a visit by the given visitor. /// Returns default(TReturn) if node is null. /// </summary> public static TReturn AcceptOrDefault <TReturn, TData>(this AstNode node, AstNodeVisitor <TReturn, TData> visitor, TData data) { if (node == null) { return(default(TReturn)); } return(node.Accept(visitor, data)); }
/// <summary> /// Accept a visit by the given visitor. /// </summary> public override TReturn Accept <TReturn, TData>(AstNodeVisitor <TReturn, TData> visitor, TData data) { return(visitor.Visit(this, data)); }
/// <summary> /// Accept a visit by the given visitor. /// </summary> public abstract TReturn Accept <TReturn, TData>(AstNodeVisitor <TReturn, TData> visitor, TData data);