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

◆ RewriteMethodCallExpression()

Result System.Linq.Expressions.Compiler.StackSpiller.RewriteMethodCallExpression ( Expression expr,
Stack stack )
inlineprivate

Definition at line 744 of file StackSpiller.cs.

745 {
746 MethodCallExpression methodCallExpression = (MethodCallExpression)expr;
747 ChildRewriter childRewriter = new ChildRewriter(this, stack, methodCallExpression.ArgumentCount + 1);
750 if (childRewriter.Action == RewriteAction.SpillStack)
751 {
752 childRewriter.MarkRefInstance(methodCallExpression.Object);
753 childRewriter.MarkRefArgs(methodCallExpression.Method, 1);
754 }
755 if (childRewriter.Rewrite)
756 {
757 expr = ((methodCallExpression.Object == null) ? ((MethodCallExpression)new MethodCallExpressionN(methodCallExpression.Method, childRewriter[1, -1])) : ((MethodCallExpression)new InstanceMethodCallExpressionN(methodCallExpression.Method, childRewriter[0], childRewriter[1, -1])));
758 }
759 return childRewriter.Finish(expr);
760 }
void Add(TKey key, TValue value)

References System.Collections.Generic.Dictionary< TKey, TValue >.Add().

Referenced by System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression().