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

◆ VisitInvocation()

override Expression System.Linq.Expressions.Compiler.VariableBinder.VisitInvocation ( InvocationExpression node)
inlinepackagevirtual

Reimplemented from System.Linq.Expressions.ExpressionVisitor.

Definition at line 100 of file VariableBinder.cs.

101 {
102 LambdaExpression lambdaOperand = node.LambdaOperand;
103 if (lambdaOperand != null)
104 {
106 CompilerScope item = (_tree.Scopes[node] = new CompilerScope(lambdaOperand, isMethod: false));
107 scopes.Push(item);
109 _scopes.Pop();
110 int i = 0;
111 for (int argumentCount = node.ArgumentCount; i < argumentCount; i++)
112 {
113 Visit(node.GetArgument(i));
114 }
115 return node;
116 }
117 return base.VisitInvocation(node);
118 }
readonly Dictionary< object, CompilerScope > Scopes
readonly Stack< CompilerScope > _scopes
override Expression Visit(Expression node)
ReadOnlyCollection< Expression > MergeScopes(Expression node)

References System.Linq.Expressions.Compiler.VariableBinder._scopes, System.Linq.Expressions.Compiler.VariableBinder._tree, System.item, System.Linq.Expressions.Compiler.VariableBinder.MergeScopes(), System.Linq.Expressions.Compiler.AnalyzedTree.Scopes, and System.Linq.Expressions.Compiler.VariableBinder.Visit().