override TExpression VisitInvocation(InvocationExpressionAlias node) { if (node == null) { throw new ArgumentNullException(nameof(node)); } var e = Visit(node.Expression); #if USE_SLIM var a = VisitArguments(node); #else var a = Visit(node.Arguments); #endif return(MakeInvocation(node, e, a)); }
/// <summary> /// Makes an expression representing a InvocationExpression with the given children. /// </summary> /// <param name="node">Original expression.</param> /// <param name="expression">Function expression.</param> /// <param name="arguments">Argument expressions.</param> /// <returns>Representation of the original expression.</returns> protected abstract TExpression MakeInvocation(InvocationExpressionAlias node, TExpression expression, ReadOnlyCollection <TExpression> arguments);