private static AnalyzedTree AnalyzeLambda(ref LambdaExpression lambda) { // Spill the stack for any exception handling blocks or other // constructs which require entering with an empty stack lambda = StackSpiller.AnalyzeLambda(lambda); // Bind any variable references in this lambda return(VariableBinder.Bind(lambda)); }
public static Expression Spill(Expression expression) { var spilled = StackSpiller.AnalyzeLambda(Expression.Lambda(expression)).Body; return(spilled); }