56 references to Stack
System.Linq.Expressions (56)
System\Linq\Expressions\Compiler\StackSpiller.Bindings.cs (4)
30internal static BindingRewriter Create(MemberBinding binding, StackSpiller spiller, Stack stack) 61internal MemberMemberBindingRewriter(MemberMemberBinding binding, StackSpiller spiller, Stack stack) : 134internal ListBindingRewriter(MemberListBinding binding, StackSpiller spiller, Stack stack) : 219internal MemberAssignmentRewriter(MemberAssignment binding, StackSpiller spiller, Stack stack) :
System\Linq\Expressions\Compiler\StackSpiller.ChildRewriter.cs (3)
82private Stack _stack; 107internal ChildRewriter(StackSpiller self, Stack stack, int count) 132_stack = Stack.NonEmpty;
System\Linq\Expressions\Compiler\StackSpiller.cs (47)
76private readonly Stack _startingStack; 92return lambda.Accept(new StackSpiller(Stack.Empty)); 95private StackSpiller(Stack stack) 156private Result RewriteExpressionFreeTemps(Expression? expression, Stack stack) 169var cr = new ChildRewriter(this, Stack.NonEmpty, node.ArgumentCount); 181private Result RewriteIndexAssignment(BinaryExpression node, Stack stack) 212private Result RewriteLogicalBinaryExpression(Expression expr, Stack stack) 244private Result RewriteReducibleExpression(Expression expr, Stack stack) 252private Result RewriteBinaryExpression(Expression expr, Stack stack) 280private Result RewriteVariableAssignment(BinaryExpression node, Stack stack) 293private Result RewriteAssignBinaryExpression(Expression expr, Stack stack) 307private Result RewriteExtensionAssignment(BinaryExpression node, Stack stack) 331private Result RewriteConditionalExpression(Expression expr, Stack stack) 351private Result RewriteMemberAssignment(BinaryExpression node, Stack stack) 382private Result RewriteMemberExpression(Expression expr, Stack stack) 404private Result RewriteIndexExpression(Expression expr, Stack stack) 432private Result RewriteMethodCallExpression(Expression expr, Stack stack) 467private Result RewriteNewArrayExpression(Expression expr, Stack stack) 476stack = Stack.NonEmpty; 495private Result RewriteInvocationExpression(Expression expr, Stack stack) 543private Result RewriteNewExpression(Expression expr, Stack stack) 560private Result RewriteTypeBinaryExpression(Expression expr, Stack stack) 575private Result RewriteThrowUnaryExpression(Expression expr, Stack stack) 584Result value = RewriteExpressionFreeTemps(node.Operand, Stack.Empty); 588if (stack != Stack.Empty) 601private Result RewriteUnaryExpression(Expression expr, Stack stack) 624private Result RewriteListInitExpression(Expression expr, Stack stack) 643var cr = new ChildRewriter(this, Stack.NonEmpty, init.Arguments.Count); 702private Result RewriteMemberInitExpression(Expression expr, Stack stack) 721BindingRewriter rewriter = BindingRewriter.Create(binding, this, Stack.NonEmpty); 775private Result RewriteBlockExpression(Expression expr, Stack stack) 811private Result RewriteLabelExpression(Expression expr, Stack stack) 824private Result RewriteLoopExpression(Expression expr, Stack stack) 830Result body = RewriteExpression(node.Body, Stack.Empty); 836if (stack != Stack.Empty) 853private Result RewriteGotoExpression(Expression expr, Stack stack) 859Result value = RewriteExpressionFreeTemps(node.Value, Stack.Empty); 864if (stack != Stack.Empty) 877private Result RewriteSwitchExpression(Expression expr, Stack stack) 951private Result RewriteTryExpression(Expression expr, Stack stack) 957Result body = RewriteExpression(node.Body, Stack.Empty); 974Result rfault = RewriteExpression(handler.Filter, Stack.Empty); 981Result rbody = RewriteExpression(handler.Body, Stack.Empty); 999Result fault = RewriteExpression(node.Fault, Stack.Empty); 1002Result @finally = RewriteExpression(node.Finally, Stack.Empty); 1006if (stack != Stack.Empty) 1025private Result RewriteExtensionExpression(Expression expr, Stack stack)
System\Linq\Expressions\Compiler\StackSpiller.Generated.cs (2)
16private Result RewriteExpression(Expression node, Stack stack) 28return _guard.RunOnEmptyStack((StackSpiller @this, Expression n, Stack s) => @this.RewriteExpression(n, s), this, node, stack);