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