/// <summary> /// Updates the is null. /// </summary> /// <param name="isnull">The isnull.</param> /// <param name="expression">The expression.</param> /// <returns></returns> protected IsNullExpression UpdateIsNull(IsNullExpression isnull, Expression expression) { if (expression != isnull.Expression) { return(new IsNullExpression(expression)); } return(isnull); }
/// <summary> /// Compares the is null. /// </summary> /// <param name="a">A.</param> /// <param name="b">The b.</param> /// <returns></returns> protected virtual bool CompareIsNull(IsNullExpression a, IsNullExpression b) { return(this.Compare(a.Expression, b.Expression)); }
/// <summary> /// Visits the is null. /// </summary> /// <param name="isnull">The isnull.</param> /// <returns></returns> protected virtual Expression VisitIsNull(IsNullExpression isnull) { var expr = this.Visit(isnull.Expression); return(this.UpdateIsNull(isnull, expr)); }