/// <inheritdoc/> protected override Provider VisitConcat(ConcatProvider 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 ConcatProvider(left, right)); }
/// <summary> /// Visits the <see cref="ConcatProvider"/>. /// </summary> /// <param name="provider">Concat provider.</param> /// <returns></returns> protected abstract Provider VisitConcat(ConcatProvider provider);