protected virtual BaseNode VisitFunction(FunctionCallNode node) { List <BaseNode> vArgs = null; for (int i = 0; i < node.Arguments.Count; ++i) { var a = node.Arguments[i]; var aV = Visit(a); if (aV != a) { if (vArgs == null) { vArgs = new List <BaseNode>(node.Arguments.Take(i)); } if (aV != null) { vArgs.Add(aV); } } } return(vArgs == null ? node : new FunctionCallNode(node.FunctionName, vArgs)); }
protected override BaseNode VisitFunction(FunctionCallNode node) { _currentResult = null; return(node); }