override TExpression VisitIndex(IndexExpressionAlias node) { if (node == null) { throw new ArgumentNullException(nameof(node)); } var o = Visit(node.Object); var a = Visit(node.Arguments); return(MakeIndex(node, o, a)); }
#pragma warning disable IDE0079 // Remove unnecessary suppression. #pragma warning disable CA1720 // Identifier 'object' contains type name. (Mirroring expression tree APIs.) #pragma warning disable CA1716 // Reserved language keyword 'object'. (Mirroring expression tree APIs.) /// <summary> /// Makes an expression representing a IndexExpression with the given children. /// </summary> /// <param name="node">Original expression.</param> /// <param name="object">Object expression.</param> /// <param name="arguments">Argument expressions.</param> /// <returns>Representation of the original expression.</returns> protected abstract TExpression MakeIndex(IndexExpressionAlias node, TExpression @object, ReadOnlyCollection <TExpression> arguments);