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

◆ VisitBlockExpressions()

static Expression[] System.Dynamic.Utils.ExpressionVisitorUtils.VisitBlockExpressions ( ExpressionVisitor visitor,
BlockExpression block )
inlinestatic

Definition at line 7 of file ExpressionVisitorUtils.cs.

8 {
9 Expression[] array = null;
10 int i = 0;
11 for (int expressionCount = block.ExpressionCount; i < expressionCount; i++)
12 {
13 Expression expression = block.GetExpression(i);
14 Expression expression2 = visitor.Visit(expression);
15 if (array != null)
16 {
17 array[i] = expression2;
18 }
19 else if (expression2 != expression)
20 {
21 array = new Expression[expressionCount];
22 for (int j = 0; j < i; j++)
23 {
24 array[j] = block.GetExpression(j);
25 }
26 array[i] = expression2;
27 }
28 }
29 return array;
30 }
virtual Expression GetExpression(int index)
virtual ? Expression Visit(Expression? node)

References System.array, System.Linq.Expressions.BlockExpression.ExpressionCount, System.Linq.Expressions.BlockExpression.GetExpression(), and System.Linq.Expressions.ExpressionVisitor.Visit().

Referenced by System.Linq.Expressions.Interpreter.QuoteInstruction.ExpressionQuoter.VisitBlock(), System.Linq.Expressions.ExpressionVisitor.VisitBlock(), and System.Runtime.CompilerServices.RuntimeOps.ExpressionQuoter.VisitBlock().