public static Expression EvaluateIndependentSubtrees(Expression expression) { var partialEvaluationInfo = NhEvaluatableTreeFindingExpressionVisitor.Analyze(expression, ExpressionFilter); var visitor = new NhPartialEvaluatingExpressionVisitor(partialEvaluationInfo); var evaluatedExpression = visitor.Visit(expression); return(evaluatedExpression); }
/// <summary> /// Takes an expression tree and finds and evaluates all its evaluatable subtrees. /// </summary> public static Expression EvaluateIndependentSubtrees( Expression expressionTree, PreTransformationParameters preTransformationParameters) { var partialEvaluationInfo = EvaluatableTreeFindingExpressionVisitor.Analyze( expressionTree, preTransformationParameters.EvaluatableExpressionFilter); var visitor = new NhPartialEvaluatingExpressionVisitor(partialEvaluationInfo, preTransformationParameters); return(visitor.Visit(expressionTree)); }