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

◆ VisitArguments()

static Expression[] System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments ( ExpressionVisitor visitor,
IArgumentProvider nodes )
inlinestatic

Definition at line 57 of file ExpressionVisitorUtils.cs.

58 {
59 Expression[] array = null;
60 int i = 0;
61 for (int argumentCount = nodes.ArgumentCount; i < argumentCount; i++)
62 {
63 Expression argument = nodes.GetArgument(i);
64 Expression expression = visitor.Visit(argument);
65 if (array != null)
66 {
67 array[i] = expression;
68 }
69 else if (expression != argument)
70 {
71 array = new Expression[argumentCount];
72 for (int j = 0; j < i; j++)
73 {
74 array[j] = nodes.GetArgument(j);
75 }
76 array[i] = expression;
77 }
78 }
79 return array;
80 }
virtual ? Expression Visit(Expression? node)

References System.Linq.Expressions.IArgumentProvider.ArgumentCount, System.array, System.Linq.Expressions.IArgumentProvider.GetArgument(), and System.Linq.Expressions.ExpressionVisitor.Visit().

Referenced by System.Linq.Expressions.ExpressionVisitor.VisitArguments(), and System.Linq.Expressions.DynamicExpressionVisitor.VisitDynamic().