internal static HashSet <Expression> Select(Expression e, Func <Expression, bool> predicate) { var visitor = new BranchSelectExpressionVisitor(predicate); visitor.Visit(e); return(visitor.matches); }
internal static HashSet<Expression> Select(Expression e, Func<Expression, bool> predicate) { var visitor = new BranchSelectExpressionVisitor(predicate); visitor.Visit(e); return visitor.matches; }
public static Expression Evaluate(Expression e) { var chosenForEvaluation = BranchSelectExpressionVisitor.Select(e, ShouldEvaluate); return(EvaluatingExpressionVisitor.Evaluate(e, chosenForEvaluation)); }