Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ RewriteDynamicExpression()

Result System.Linq.Expressions.Compiler.StackSpiller.RewriteDynamicExpression ( Expression expr)
inlineprivate

Definition at line 579 of file StackSpiller.cs.

580 {
581 IDynamicExpression dynamicExpression = (IDynamicExpression)expr;
582 ChildRewriter childRewriter = new ChildRewriter(this, Stack.NonEmpty, dynamicExpression.ArgumentCount);
583 childRewriter.AddArguments(dynamicExpression);
584 if (childRewriter.Action == RewriteAction.SpillStack)
585 {
586 RequireNoRefArgs(dynamicExpression.DelegateType.GetInvokeMethod());
587 }
588 return childRewriter.Finish(childRewriter.Rewrite ? dynamicExpression.Rewrite(childRewriter[0, -1]) : expr);
589 }
static void RequireNoRefArgs(MethodBase method)

References System.Linq.Expressions.Compiler.StackSpiller.RequireNoRefArgs().

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