protected ListInitExpression UpdateListInit(ListInitExpression init, NewExpression nex, IEnumerable<ElementInit> initializers) { if (nex != init.NewExpression || initializers != init.Initializers) { return Expression.ListInit(nex, initializers); } return init; }
protected override SystemLinq.Expression VisitListInit(SystemLinq.ListInitExpression node) { var n = VisitNew(node.NewExpression); var initializers = VisitElementInitializerList(node.Initializers); return(new RemoteLinq.ListInitExpression(n, initializers).Wrap()); }
protected override Expression VisitListInit(ListInitExpression node) { // If we here, than eval the whole block failed, don't touch constructor! _allowEval = false; var newExpr = VisitAndConvert(node.NewExpression, "VisitListInit"); _allowEval = true; // ReSharper disable once AssignNullToNotNullAttribute return node.Update(newExpr, Visit(node.Initializers, VisitElementInit)); }
protected static ListInitExpression UpdateListInit(ListInitExpression node, NewExpression nex, IEnumerable<ElementInit> initializers) { if (node.NewExpression != nex || node.Initializers != initializers) { return Expression.ListInit(nex, initializers); } return node; }
private SqlExpression VisitListInit(ListInitExpression list) { if (null != list.NewExpression.Constructor && 0 != list.NewExpression.Arguments.Count) { // Throw existing exception for unrecognized expressions if list // init does not use a default constructor. throw Error.UnrecognizedExpressionNode(list.NodeType); } SqlExpression[] exprs = new SqlExpression[list.Initializers.Count]; for (int i = 0, n = exprs.Length; i < n; i++) { if (1 != list.Initializers[i].Arguments.Count) { // Throw existing exception for unrecognized expressions if element // init is not adding a single element. throw Error.UnrecognizedExpressionNode(list.NodeType); } exprs[i] = this.VisitExpression(list.Initializers[i].Arguments.Single()); } return new SqlClientArray(list.Type, this.typeProvider.From(list.Type), exprs, this.dominatingExpression); }
protected override Expression VisitListInit(ListInitExpression expression) { ListInitExpression current; if (!TryGetCurrent(expression, out current)) { return expression; } if (!(this.result &= current.NodeType == expression.NodeType)) { return expression; } if (!(this.result &= current.Type == expression.Type)) { return expression; } this.currentObject = current.NewExpression; this.VisitNew(expression.NewExpression); if (!this.result) { return expression; } this.currentObject = current.Initializers; this.VisitElementInitializerList(expression.Initializers); if (!this.result) { return expression; } this.currentObject = current; return expression; }
protected virtual Expression VisitListInit(ListInitExpression init, Stack<string> stack, Stack<IElasticPropertyAttribute> properties) { NewExpression n = this.VisitNew(init.NewExpression, stack, properties); IEnumerable<ElementInit> initializers = this.VisitElementInitializerList(init.Initializers, stack, properties); if (n != init.NewExpression || initializers != init.Initializers) { return Expression.ListInit(n, initializers); } return init; }
protected internal override Expression VisitListInit(ListInitExpression node) { Visit(node.NewExpression); VisitExpressions('{', ',', Theraot.Collections.Extensions.AsArray(node.Initializers), e => VisitElementInit(e)); return(node); }
protected internal virtual new Expression VisitListInit(ListInitExpression node) { return(default(Expression)); }
public ListInitExpressionMutator(ListInitExpression expression) { ListInitExpression = expression; }
protected virtual bool VisitListInit(ListInitExpression init, ListInitExpression init2) { return(VisitNew(init.NewExpression, init2.NewExpression) && VisitElementInitializerList(init.Initializers, init2.Initializers)); }
protected override string VisitListInit(ListInitExpression node) => null;
protected internal virtual new Expression VisitListInit(ListInitExpression node) { Contract.Requires(node != null); return(default(Expression)); }
protected internal virtual Expression VisitListInit(ListInitExpression node) { return(node.Update(this.VisitAndConvert <NewExpression>(node.NewExpression, "VisitListInit"), Visit <ElementInit>(node.Initializers, new Func <ElementInit, ElementInit>(this.VisitElementInit)))); }
/// <summary> /// Makes an expression slim representing a ListInitExpression with the given children. /// </summary> /// <param name="node">Original expression.</param> /// <param name="newExpression">New expression slim.</param> /// <param name="initializers">Slim element initializers.</param> /// <returns>Slim representation of the original expression.</returns> protected override ExpressionSlim MakeListInit(ListInitExpression node, NewExpressionSlim newExpression, ReadOnlyCollection <ElementInitSlim> initializers) { return(_factory.ListInit(newExpression, initializers)); }
protected virtual Expression VisitListInit(ListInitExpression node) { throw new NotImplementedException(); }
internal override Expression VisitListInit(ListInitExpression init) { throw new NotSupportedException(Strings.ALinq_ExpressionNotSupportedInProjectionToEntity(this.type, init.ToString())); }
/// <summary> /// Visits a ListInitExpression. /// </summary> /// <param name="node">The ListInitExpression.</param> /// <returns>The ListInitExpression.</returns> protected override Expression VisitListInit(ListInitExpression node) { _sb.Append("<ListInitExpression>"); return node; }
public ListInitExpressionProxy(ListInitExpression node) { ArgumentNullException.ThrowIfNull(node); _node = node; }
/// <summary> /// ListInitExpression visit method /// </summary> /// <param name="init">The ListInitExpression to visit</param> /// <returns>The visited ListInitExpression</returns> internal override Expression VisitListInit(ListInitExpression init) { this.cantTranslateExpression = true; return init; }
private Expression Convert(LinqExp.ListInitExpression linqListInit) { return(Expression.ListInit( Convert(linqListInit.NewExpression), linqListInit.Initializers.Project(Convert))); }
protected virtual System.Linq.Expressions.Expression VisitListInit(ListInitExpression init) { NewExpression n = VisitNew(init.NewExpression); IEnumerable<ElementInit> initializers = VisitElementInitializerList(init.Initializers); // ReSharper disable once PossibleUnintendedReferenceComparison if(n != init.NewExpression || initializers != init.Initializers) { return System.Linq.Expressions.Expression.ListInit(n, initializers); } return init; }
public ListInitExpressionProxy(ListInitExpression node) { ContractUtils.RequiresNotNull(node, nameof(node)); _node = node; }
public ListInitExpressionProxy(ListInitExpression node) { _node = node; }
/// <inheritdoc /> protected override Expression VisitListInit(ListInitExpression init) => Expression.ListInit(VisitNew(init.NewExpression), VisitElementInitializerList(init.Initializers));
/// <summary> /// Visits a ListInitExpression. /// </summary> /// <param name="node">The ListInitExpression.</param> /// <returns>The ListInitExpression (possibly modified).</returns> protected virtual Expression VisitListInit(ListInitExpression node) { NewExpression n = VisitNew(node.NewExpression); IEnumerable<ElementInit> initializers = VisitElementInitList(node.Initializers); return UpdateListInit(node, n, initializers); }
internal virtual Expression VisitListInit(ListInitExpression init) { NewExpression newExpression = this.VisitNew(init.NewExpression); IEnumerable<ElementInit> initializers = this.VisitElementInitializerList(init.Initializers); if ((newExpression == init.NewExpression) && (initializers == init.Initializers)) { return init; } return Expression.ListInit(newExpression, initializers); }
protected virtual void VisitListInit(ListInitExpression init) { VisitNew(init.NewExpression); VisitElementInitializerList(init.Initializers); }
/// <summary> /// Visits the children of the <c>ListInitExpression</c>. /// </summary> /// <param name="init">The expression to visit.</param> /// <returns>The modified expression, if it or any subexpression was modified; /// otherwise, returns the original expression.</returns> protected virtual Expression VisitListInit(ListInitExpression init) { if (init == null) throw new ArgumentNullException("init"); var n = VisitNew(init.NewExpression); var initializers = VisitElementInitializerList(init.Initializers); if (n == init.NewExpression && initializers == init.Initializers) return init; return Expression.ListInit(n, initializers); }
protected internal override Expression VisitListInit(ListInitExpression node) { Visit(node.NewExpression); VisitExpressions('{', ',', node.Initializers, e => VisitElementInit(e)); return(node); }
protected virtual Expression VisitListInit(ListInitExpression init) { var n = VisitNew(init.NewExpression); var initializers = VisitElementInitializerList(init.Initializers); return n != init.NewExpression || !Equals(initializers, init.Initializers) ? Expression.ListInit(n, initializers) : init; }
public virtual void Visit(ListInitExpression expression) { if (VisitListInit != null) VisitListInit(expression); }
internal override Expression VisitListInit(ListInitExpression init) { throw new NotSupportedException(Strings.ALinq_ListInitNotSupported); }
internal virtual Expression VisitListInit(ListInitExpression init) { var n = VisitNew(init.NewExpression); var initializers = VisitElementInitializerList(init.Initializers); if (n != init.NewExpression || initializers != init.Initializers) { return Expression.ListInit(n, initializers); } return init; }
/// <summary> /// ListInitExpression visit method /// </summary> /// <param name="init">The ListInitExpression to visit</param> /// <returns>The visited ListInitExpression</returns> internal override Expression VisitListInit(ListInitExpression init) { throw new NotImplementedException(); }
public virtual bool IsEvaluatableListInit (ListInitExpression node) { ArgumentUtility.CheckNotNull ("node", node); return true; }
protected virtual bool CompareListInit(ListInitExpression a, ListInitExpression b) { return this.Compare(a.NewExpression, b.NewExpression) && this.CompareElementInitList(a.Initializers, b.Initializers); }
protected override Expression VisitListInit(ListInitExpression init) { this.Visit(init.NewExpression); this.Write(" {"); this.WriteLine(Indentation.Inner); this.VisitElementInitializerList(init.Initializers); this.WriteLine(Indentation.Outer); this.Write("}"); return init; }
protected virtual Expression VisitListInit(ListInitExpression init) { NewExpression n = this.VisitNew(init.NewExpression); IEnumerable<ElementInit> initializers = this.VisitElementInitializerList(init.Initializers); return this.UpdateListInit(init, n, initializers); }
/// <summary> /// Visit a list initializatio expression. /// </summary> /// <param name="listInitExp"></param> /// <returns></returns> protected virtual Expression VisitListInit(ListInitExpression listInitExp) { NewExpression n = VisitNew(listInitExp.NewExpression); IEnumerable<ElementInit> initializers = VisitElementInitializerList(listInitExp.Initializers); return n != listInitExp.NewExpression || initializers != listInitExp.Initializers ? Expression.ListInit(n, initializers) : listInitExp; }
private static string VisitListInit(ListInitExpression node) { throw new NotImplementedException(); }
internal override Expression VisitListInit(ListInitExpression init) { throw new NotSupportedException(string.Format(CultureInfo.CurrentCulture, SR.ALinqExpressionNotSupportedInProjectionToEntity, this.type, init.ToString())); }
/// <summary> /// Visits a ListInitExpression. /// </summary> /// <param name="node">The ListInitExpression.</param> /// <returns>The ListInitExpression.</returns> protected override Expression VisitListInit(ListInitExpression node) { throw new NotImplementedException(); }
private static IList<string> WriteEx(ListInitExpression expression, string header, int depth) { var lines = new List<string> { WriteHeader(expression, header, depth++) }; lines.AddRange(Write(expression.NewExpression, "New", depth)); for (int i = 0; i < expression.Initializers.Count; i++) { lines.Add(WriteLiteral(expression.Initializers[i].AddMethod.Name, string.Format("Method{0:0##}", i), depth)); for (int j = 0; j < expression.Initializers[i].Arguments.Count; j++) { lines.AddRange(Write(expression.Initializers[i].Arguments[j], string.Format("#{0:0##}", j), depth + 1)); } } return lines; }
/// <summary> /// Visits a ListInitExpression. /// </summary> /// <param name="init">The ListInitExpression.</param> /// <returns>The ListInitExpression (possibly modified).</returns> protected virtual Expression VisitListInit(ListInitExpression init) { NewExpression n = this.VisitNew(init.NewExpression); IEnumerable<ElementInit> initializers = this.VisitElementInitializerList(init.Initializers); if (n != init.NewExpression || initializers != init.Initializers) { return Expression.ListInit(n, initializers); } return init; }
protected override Expression VisitListInit(ListInitExpression init) => InvokeEvent(ListInitVisited, init, base.VisitListInit);