/// <inheritdoc/> protected override Provider VisitExcept(ExceptProvider provider) { OnRecursionEntrance(provider); var left = VisitCompilable(provider.Left); var right = VisitCompilable(provider.Right); OnRecursionExit(provider); if (left == provider.Left && right == provider.Right) { return(provider); } return(new ExceptProvider(left, right)); }
/// <summary> /// Visits the <see cref="ExceptProvider"/>. /// </summary> /// <param name="provider">Except provider.</param> /// <returns></returns> protected abstract Provider VisitExcept(ExceptProvider provider);