Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Linq.Expressions.Compiler.StackSpiller Class Referencesealed

Classes

class  BindingRewriter
 
class  ChildRewriter
 
class  ListBindingRewriter
 
class  MemberAssignmentRewriter
 
class  MemberMemberBindingRewriter
 
struct  Result
 
class  TempMaker
 

Package Functions

Expression< TRewrite< T > (Expression< T > lambda)
 

Static Package Functions

static LambdaExpression AnalyzeLambda (LambdaExpression lambda)
 

Private Types

enum  Stack { Empty , NonEmpty }
 
enum  RewriteAction { None = 0 , Copy = 1 , SpillStack = 3 }
 

Private Member Functions

 StackSpiller (Stack stack)
 
Result RewriteExpressionFreeTemps (Expression expression, Stack stack)
 
Result RewriteDynamicExpression (Expression expr)
 
Result RewriteIndexAssignment (BinaryExpression node, Stack stack)
 
Result RewriteLogicalBinaryExpression (Expression expr, Stack stack)
 
Result RewriteReducibleExpression (Expression expr, Stack stack)
 
Result RewriteBinaryExpression (Expression expr, Stack stack)
 
Result RewriteVariableAssignment (BinaryExpression node, Stack stack)
 
Result RewriteAssignBinaryExpression (Expression expr, Stack stack)
 
Result RewriteExtensionAssignment (BinaryExpression node, Stack stack)
 
Result RewriteConditionalExpression (Expression expr, Stack stack)
 
Result RewriteMemberAssignment (BinaryExpression node, Stack stack)
 
Result RewriteMemberExpression (Expression expr, Stack stack)
 
Result RewriteIndexExpression (Expression expr, Stack stack)
 
Result RewriteMethodCallExpression (Expression expr, Stack stack)
 
Result RewriteNewArrayExpression (Expression expr, Stack stack)
 
Result RewriteInvocationExpression (Expression expr, Stack stack)
 
Result RewriteNewExpression (Expression expr, Stack stack)
 
Result RewriteTypeBinaryExpression (Expression expr, Stack stack)
 
Result RewriteThrowUnaryExpression (Expression expr, Stack stack)
 
Result RewriteUnaryExpression (Expression expr, Stack stack)
 
Result RewriteListInitExpression (Expression expr, Stack stack)
 
Result RewriteMemberInitExpression (Expression expr, Stack stack)
 
Result RewriteBlockExpression (Expression expr, Stack stack)
 
Result RewriteLabelExpression (Expression expr, Stack stack)
 
Result RewriteLoopExpression (Expression expr, Stack stack)
 
Result RewriteGotoExpression (Expression expr, Stack stack)
 
Result RewriteSwitchExpression (Expression expr, Stack stack)
 
Result RewriteTryExpression (Expression expr, Stack stack)
 
Result RewriteExtensionExpression (Expression expr, Stack stack)
 
Result RewriteExpression (Expression node, Stack stack)
 
ParameterExpression MakeTemp (Type type)
 
int Mark ()
 
void Free (int mark)
 
ParameterExpression ToTemp (Expression expression, out Expression save, bool byRef)
 

Static Private Member Functions

static Result RewriteLambdaExpression (Expression expr)
 
static T[] Clone< T > (ReadOnlyCollection< T > original, int max)
 
static void RequireNoRefArgs (MethodBase method)
 
static void RequireNotRefInstance (Expression instance)
 
static bool IsRefInstance ([NotNullWhen(true)] Expression instance)
 
static Expression MakeBlock (System.Collections.Generic.ArrayBuilder< Expression > expressions)
 
static Expression MakeBlock (params Expression[] expressions)
 
static Expression MakeBlock (IReadOnlyList< Expression > expressions)
 

Private Attributes

readonly Stack _startingStack
 
RewriteAction _lambdaRewrite
 
readonly StackGuard _guard = new StackGuard()
 
readonly TempMaker _tm = new TempMaker()
 

Detailed Description

Definition at line 10 of file StackSpiller.cs.


The documentation for this class was generated from the following file: