protected override Expression VisitBinary(BinaryExpression expression) { ArgumentUtility.CheckNotNull("expression", expression); var vistedExpression = base.VisitBinary(expression); // Testing the parent expression is only required if all children are evaluatable if (_isCurrentSubtreeEvaluatable) { _isCurrentSubtreeEvaluatable = _evaluatableExpressionFilter.IsEvaluatableBinary(expression); } return(vistedExpression); }
protected override Expression VisitBinary(BinaryExpression expression) { if (expression == null) { throw new ArgumentNullException(nameof(expression)); } var vistedExpression = base.VisitBinary(expression); // Testing the parent expression is only required if all children are evaluatable if (IsCurrentSubtreeEvaluatable) { IsCurrentSubtreeEvaluatable = EvaluatableExpressionFilter.IsEvaluatableBinary(expression); } return(vistedExpression); }