src/Inflatable/LinqExpression/HelperClasses/Nominator.cs
/// <summary>
/// Dispatches the expression to one of the more specialized visit methods in this class.
/// </summary>
/// <param name="node">The expression to visit.</param>
/// <returns>
/// The modified expression, if it or any subexpression was modified; otherwise, returns the
/// original expression.
/// </returns>
Dispatches the expression to one of the more specialized visit methods in this class.
Dispatches the expression to one of the more specialized visit methods in this class .
public override Expression Visit(Expression node)
        {
            if (node is null)
                return node!;
            var saveCannotBeEvaluated = CanNotBeEvaluated;
            CanNotBeEvaluated = false;
            base.Visit(node);
            if (!CanNotBeEvaluated)
            {
                if (FunctionCanBeEvaluated(node))
                {
                    Candidates.Add(node);
                }
                else
                {
                    CanNotBeEvaluated = true;
                }
            }
            CanNotBeEvaluated |= saveCannotBeEvaluated;
            return node;
        }
public override Expression Visit ( Expression node ) { if ( node is null ) return node ! ; var saveCannotBeEvaluated = CanNotBeEvaluated ; CanNotBeEvaluated = false ; base . Visit ( node ) ; if ( ! CanNotBeEvaluated ) { if ( FunctionCanBeEvaluated ( node ) ) { Candidates . Add ( node ) ; } else { CanNotBeEvaluated = true ; } } CanNotBeEvaluated |= saveCannotBeEvaluated ; return node ; }
Dispatches the expression to one of the more specialized visit methods in this class.
Dispatches the expression to one of the more specialized visit methods in this class .
The modified expression, if it or any subexpression was modified; otherwise, returns the
original expression.
The modified expression if it or any subexpression was modified ; otherwise returns the original expression .
node
Expression
The expression to visit.
The expression to visit .