protected internal override ExpressionSlim VisitNewArray(NewArrayExpressionSlim node) { Append(node.NodeType); Append('('); Append(node.ElementType); Append(", "); Visit(", ", node.Expressions); Append(')'); return(node); }
/// <summary> /// Visits a new array expression slim tree node, produces a new array expression. /// </summary> /// <param name="node">Node to visit.</param> /// <param name="expressions">Operand expressions.</param> /// <returns>The new array expression represented by the expression slim node.</returns> protected override Expression MakeNewArray(NewArrayExpressionSlim node, ReadOnlyCollection <Expression> expressions) { var elementType = MakeType(node.ElementType); if (node.NodeType == ExpressionType.NewArrayBounds) { return(_factory.NewArrayBounds(elementType, expressions)); } else { Debug.Assert(node.NodeType == ExpressionType.NewArrayInit); return(_factory.NewArrayInit(elementType, expressions)); } }
#pragma warning restore CA1711 #pragma warning restore IDE0079 /// <summary> /// Visits an array creation expression tree node. /// </summary> /// <param name="node">Node to visit.</param> /// <returns>Result of visiting the node.</returns> protected internal virtual ExpressionSlim VisitNewArray(NewArrayExpressionSlim node) { return(node.Update(Visit(node.Expressions))); }