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

◆ Rewrite< T >()

Expression< T > System.Linq.Expressions.Compiler.StackSpiller.Rewrite< T > ( Expression< T > lambda)
inlinepackage

Definition at line 555 of file StackSpiller.cs.

556 {
557 Result result = RewriteExpressionFreeTemps(lambda.Body, _startingStack);
558 _lambdaRewrite = result.Action;
559 if (result.Action != 0)
560 {
561 Expression expression = result.Node;
562 if (_tm.Temps.Count > 0)
563 {
565 }
566 return Expression<T>.Create(expression, lambda.Name, lambda.TailCall, new ParameterList(lambda));
567 }
568 return lambda;
569 }
Result RewriteExpressionFreeTemps(Expression expression, Stack stack)

References System.Linq.Expressions.Compiler.StackSpiller._lambdaRewrite, System.Linq.Expressions.Compiler.StackSpiller._startingStack, System.Linq.Expressions.Compiler.StackSpiller._tm, System.Linq.Expressions.Compiler.StackSpiller.Result.Action, System.Linq.Expressions.Expression< TDelegate >.Block(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Linq.Expressions.Compiler.StackSpiller.Result.Node, System.Linq.Expressions.Compiler.StackSpiller.RewriteExpressionFreeTemps(), and System.Linq.Expressions.Compiler.StackSpiller.TempMaker.Temps.