Rewrite() private method

private Rewrite ( Expression instance, Expression arguments ) : Expression
instance Expression
arguments Expression
return Expression
Example #1
0
        /// <summary>
        /// Visits the children of the <see cref="IndexExpression" />.
        /// </summary>
        /// <param name="node">The expression to visit.</param>
        /// <returns>The modified expression, if it or any subexpression was modified;
        /// otherwise, returns the original expression.</returns>
        protected internal virtual Expression VisitIndex(IndexExpression node)
        {
            Expression o = Visit(node.Object);
            Expression[] a = VisitArguments(node);
            if (o == node.Object && a == null)
            {
                return node;
            }

            return node.Rewrite(o, a);
        }
        protected internal virtual Expression VisitIndex(IndexExpression node)
        {
            Expression instance = this.Visit(node.Object);

            Expression[] arguments = this.VisitArguments(node);
            if ((instance == node.Object) && (arguments == null))
            {
                return(node);
            }
            return(node.Rewrite(instance, arguments));
        }
Example #3
0
        /// <summary>
        ///     Visits the children of the <see cref="IndexExpression" />.
        /// </summary>
        /// <param name="node">The expression to visit.</param>
        /// <returns>
        ///     The modified expression, if it or any subexpression was modified;
        ///     otherwise, returns the original expression.
        /// </returns>
        protected internal virtual Expression VisitIndex(IndexExpression node)
        {
            if (node == null)
            {
                throw new ArgumentNullException(nameof(node));
            }

            var o = Visit(node.Object);
            var a = VisitArguments(node);

            if (o == node.Object && a == null)
            {
                return(node);
            }

            return(node.Rewrite(o, a));
        }