Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ReduceListInit()

static Expression System.Linq.Expressions.MemberInitExpression.ReduceListInit ( Expression listExpression,
ReadOnlyCollection< ElementInit > initializers,
bool keepOnStack )
inlinestaticpackage

Definition at line 51 of file MemberInitExpression.cs.

52 {
53 ParameterExpression parameterExpression = Expression.Variable(listExpression.Type);
55 Expression[] array = new Expression[count + 2];
57 for (int i = 0; i < count; i++)
58 {
60 array[i + 1] = Expression.Call(parameterExpression, elementInit.AddMethod, elementInit.Arguments);
61 }
63 return Expression.Block(new ParameterExpression[1] { parameterExpression }, array);
64 }
static DefaultExpression Empty()
static ElementInit ElementInit(MethodInfo addMethod, params Expression[] arguments)

References System.Linq.Expressions.Expression< TDelegate >.Expression(), System.array, System.Linq.Expressions.Expression< TDelegate >.Assign(), System.Linq.Expressions.Expression< TDelegate >.Block(), System.Linq.Expressions.Expression< TDelegate >.Call(), System.Linq.count, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Linq.Expressions.Utils.Empty, and System.Linq.Expressions.Expression< TDelegate >.Variable().

Referenced by System.Linq.Expressions.ListInitExpression.Reduce(), and System.Linq.Expressions.MemberInitExpression.ReduceMemberBinding().