Skip to content

Commit 480889c

Browse files
authored
3.x: Add missing annotations, fix many diamonds (#6795)
* 3.x: Add missing annotations, fix many diamonds * Fix accidental JDK 9 API usage * Fix NPE in unicast due to null-cleanup
1 parent b57169b commit 480889c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+2441
-947
lines changed

src/main/java/io/reactivex/rxjava3/core/Completable.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2335,7 +2335,7 @@ public final void subscribe(@NonNull CompletableObserver observer) {
23352335
* applied by {@link #subscribe(CompletableObserver)} before this method gets called.
23362336
* @param observer the CompletableObserver instance, never null
23372337
*/
2338-
protected abstract void subscribeActual(CompletableObserver observer);
2338+
protected abstract void subscribeActual(@NonNull CompletableObserver observer);
23392339

23402340
/**
23412341
* Subscribes a given CompletableObserver (subclass) to this Completable and returns the given

src/main/java/io/reactivex/rxjava3/core/Flowable.java

+29-7
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ public abstract class Flowable<T> implements Publisher<T> {
183183
@NonNull
184184
@BackpressureSupport(BackpressureKind.PASS_THROUGH)
185185
@SchedulerSupport(SchedulerSupport.NONE)
186-
public static <T> Flowable<T> amb(Iterable<? extends Publisher<? extends T>> sources) {
186+
public static <T> Flowable<T> amb(@NonNull Iterable<? extends Publisher<? extends T>> sources) {
187187
Objects.requireNonNull(sources, "sources is null");
188188
return RxJavaPlugins.onAssembly(new FlowableAmb<>(null, sources));
189189
}
@@ -232,6 +232,7 @@ public static <T> Flowable<T> ambArray(Publisher<? extends T>... sources) {
232232
* <em>before</em> the Flowable class is loaded.
233233
* @return the default internal buffer size.
234234
*/
235+
@CheckReturnValue
235236
public static int bufferSize() {
236237
return BUFFER_SIZE;
237238
}
@@ -673,6 +674,7 @@ public static <T1, T2, R> Flowable<R> combineLatest(
673674
@NonNull BiFunction<? super T1, ? super T2, ? extends R> combiner) {
674675
Objects.requireNonNull(source1, "source1 is null");
675676
Objects.requireNonNull(source2, "source2 is null");
677+
Objects.requireNonNull(combiner, "combiner is null");
676678
return combineLatestArray(new Publisher[] { source1, source2 }, Functions.toFunction(combiner), bufferSize());
677679
}
678680

@@ -723,6 +725,7 @@ public static <T1, T2, T3, R> Flowable<R> combineLatest(
723725
Objects.requireNonNull(source1, "source1 is null");
724726
Objects.requireNonNull(source2, "source2 is null");
725727
Objects.requireNonNull(source3, "source3 is null");
728+
Objects.requireNonNull(combiner, "combiner is null");
726729
return combineLatestArray(new Publisher[] { source1, source2, source3 }, Functions.toFunction(combiner), bufferSize());
727730
}
728731

@@ -777,6 +780,7 @@ public static <T1, T2, T3, T4, R> Flowable<R> combineLatest(
777780
Objects.requireNonNull(source2, "source2 is null");
778781
Objects.requireNonNull(source3, "source3 is null");
779782
Objects.requireNonNull(source4, "source4 is null");
783+
Objects.requireNonNull(combiner, "combiner is null");
780784
return combineLatestArray(new Publisher[] { source1, source2, source3, source4 }, Functions.toFunction(combiner), bufferSize());
781785
}
782786

@@ -836,6 +840,7 @@ public static <T1, T2, T3, T4, T5, R> Flowable<R> combineLatest(
836840
Objects.requireNonNull(source3, "source3 is null");
837841
Objects.requireNonNull(source4, "source4 is null");
838842
Objects.requireNonNull(source5, "source5 is null");
843+
Objects.requireNonNull(combiner, "combiner is null");
839844
return combineLatestArray(new Publisher[] { source1, source2, source3, source4, source5 }, Functions.toFunction(combiner), bufferSize());
840845
}
841846

@@ -899,6 +904,7 @@ public static <T1, T2, T3, T4, T5, T6, R> Flowable<R> combineLatest(
899904
Objects.requireNonNull(source4, "source4 is null");
900905
Objects.requireNonNull(source5, "source5 is null");
901906
Objects.requireNonNull(source6, "source6 is null");
907+
Objects.requireNonNull(combiner, "combiner is null");
902908
return combineLatestArray(new Publisher[] { source1, source2, source3, source4, source5, source6 }, Functions.toFunction(combiner), bufferSize());
903909
}
904910

@@ -967,6 +973,7 @@ public static <T1, T2, T3, T4, T5, T6, T7, R> Flowable<R> combineLatest(
967973
Objects.requireNonNull(source5, "source5 is null");
968974
Objects.requireNonNull(source6, "source6 is null");
969975
Objects.requireNonNull(source7, "source7 is null");
976+
Objects.requireNonNull(combiner, "combiner is null");
970977
return combineLatestArray(new Publisher[] { source1, source2, source3, source4, source5, source6, source7 }, Functions.toFunction(combiner), bufferSize());
971978
}
972979

@@ -1039,6 +1046,7 @@ public static <T1, T2, T3, T4, T5, T6, T7, T8, R> Flowable<R> combineLatest(
10391046
Objects.requireNonNull(source6, "source6 is null");
10401047
Objects.requireNonNull(source7, "source7 is null");
10411048
Objects.requireNonNull(source8, "source8 is null");
1049+
Objects.requireNonNull(combiner, "combiner is null");
10421050
return combineLatestArray(new Publisher[] { source1, source2, source3, source4, source5, source6, source7, source8 }, Functions.toFunction(combiner), bufferSize());
10431051
}
10441052

@@ -1116,6 +1124,7 @@ public static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Flowable<R> combineLatest(
11161124
Objects.requireNonNull(source7, "source7 is null");
11171125
Objects.requireNonNull(source8, "source8 is null");
11181126
Objects.requireNonNull(source9, "source9 is null");
1127+
Objects.requireNonNull(combiner, "combiner is null");
11191128
return combineLatestArray(new Publisher[] { source1, source2, source3, source4, source5, source6, source7, source8, source9 }, Functions.toFunction(combiner), bufferSize());
11201129
}
11211130

@@ -4735,6 +4744,7 @@ public static <T1, T2, R> Flowable<R> zip(
47354744
@NonNull BiFunction<? super T1, ? super T2, ? extends R> zipper) {
47364745
Objects.requireNonNull(source1, "source1 is null");
47374746
Objects.requireNonNull(source2, "source2 is null");
4747+
Objects.requireNonNull(zipper, "zipper is null");
47384748
return zipArray(Functions.toFunction(zipper), false, bufferSize(), source1, source2);
47394749
}
47404750

@@ -4796,6 +4806,7 @@ public static <T1, T2, R> Flowable<R> zip(
47964806
@NonNull BiFunction<? super T1, ? super T2, ? extends R> zipper, boolean delayError) {
47974807
Objects.requireNonNull(source1, "source1 is null");
47984808
Objects.requireNonNull(source2, "source2 is null");
4809+
Objects.requireNonNull(zipper, "zipper is null");
47994810
return zipArray(Functions.toFunction(zipper), delayError, bufferSize(), source1, source2);
48004811
}
48014812

@@ -4858,6 +4869,7 @@ public static <T1, T2, R> Flowable<R> zip(
48584869
@NonNull BiFunction<? super T1, ? super T2, ? extends R> zipper, boolean delayError, int bufferSize) {
48594870
Objects.requireNonNull(source1, "source1 is null");
48604871
Objects.requireNonNull(source2, "source2 is null");
4872+
Objects.requireNonNull(zipper, "zipper is null");
48614873
return zipArray(Functions.toFunction(zipper), delayError, bufferSize, source1, source2);
48624874
}
48634875

@@ -4923,6 +4935,7 @@ public static <T1, T2, T3, R> Flowable<R> zip(
49234935
Objects.requireNonNull(source1, "source1 is null");
49244936
Objects.requireNonNull(source2, "source2 is null");
49254937
Objects.requireNonNull(source3, "source3 is null");
4938+
Objects.requireNonNull(zipper, "zipper is null");
49264939
return zipArray(Functions.toFunction(zipper), false, bufferSize(), source1, source2, source3);
49274940
}
49284941

@@ -4993,6 +5006,7 @@ public static <T1, T2, T3, T4, R> Flowable<R> zip(
49935006
Objects.requireNonNull(source2, "source2 is null");
49945007
Objects.requireNonNull(source3, "source3 is null");
49955008
Objects.requireNonNull(source4, "source4 is null");
5009+
Objects.requireNonNull(zipper, "zipper is null");
49965010
return zipArray(Functions.toFunction(zipper), false, bufferSize(), source1, source2, source3, source4);
49975011
}
49985012

@@ -5067,6 +5081,7 @@ public static <T1, T2, T3, T4, T5, R> Flowable<R> zip(
50675081
Objects.requireNonNull(source3, "source3 is null");
50685082
Objects.requireNonNull(source4, "source4 is null");
50695083
Objects.requireNonNull(source5, "source5 is null");
5084+
Objects.requireNonNull(zipper, "zipper is null");
50705085
return zipArray(Functions.toFunction(zipper), false, bufferSize(), source1, source2, source3, source4, source5);
50715086
}
50725087

@@ -5144,6 +5159,7 @@ public static <T1, T2, T3, T4, T5, T6, R> Flowable<R> zip(
51445159
Objects.requireNonNull(source4, "source4 is null");
51455160
Objects.requireNonNull(source5, "source5 is null");
51465161
Objects.requireNonNull(source6, "source6 is null");
5162+
Objects.requireNonNull(zipper, "zipper is null");
51475163
return zipArray(Functions.toFunction(zipper), false, bufferSize(), source1, source2, source3, source4, source5, source6);
51485164
}
51495165

@@ -5226,6 +5242,7 @@ public static <T1, T2, T3, T4, T5, T6, T7, R> Flowable<R> zip(
52265242
Objects.requireNonNull(source5, "source5 is null");
52275243
Objects.requireNonNull(source6, "source6 is null");
52285244
Objects.requireNonNull(source7, "source7 is null");
5245+
Objects.requireNonNull(zipper, "zipper is null");
52295246
return zipArray(Functions.toFunction(zipper), false, bufferSize(), source1, source2, source3, source4, source5, source6, source7);
52305247
}
52315248

@@ -5312,6 +5329,7 @@ public static <T1, T2, T3, T4, T5, T6, T7, T8, R> Flowable<R> zip(
53125329
Objects.requireNonNull(source6, "source6 is null");
53135330
Objects.requireNonNull(source7, "source7 is null");
53145331
Objects.requireNonNull(source8, "source8 is null");
5332+
Objects.requireNonNull(zipper, "zipper is null");
53155333
return zipArray(Functions.toFunction(zipper), false, bufferSize(), source1, source2, source3, source4, source5, source6, source7, source8);
53165334
}
53175335

@@ -5403,6 +5421,7 @@ public static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Flowable<R> zip(
54035421
Objects.requireNonNull(source7, "source7 is null");
54045422
Objects.requireNonNull(source8, "source8 is null");
54055423
Objects.requireNonNull(source9, "source9 is null");
5424+
Objects.requireNonNull(zipper, "zipper is null");
54065425
return zipArray(Functions.toFunction(zipper), false, bufferSize(), source1, source2, source3, source4, source5, source6, source7, source8, source9);
54075426
}
54085427

@@ -6791,7 +6810,7 @@ public final <B> Flowable<List<T>> buffer(@NonNull Publisher<B> boundaryIndicato
67916810
@BackpressureSupport(BackpressureKind.ERROR)
67926811
@SchedulerSupport(SchedulerSupport.NONE)
67936812
@NonNull
6794-
public final <B> Flowable<List<T>> buffer(@NonNull Publisher<B> boundaryIndicator, final int initialCapacity) {
6813+
public final <B> Flowable<List<T>> buffer(@NonNull Publisher<B> boundaryIndicator, int initialCapacity) {
67956814
ObjectHelper.verifyPositive(initialCapacity, "initialCapacity");
67966815
return buffer(boundaryIndicator, Functions.<T>createArrayList(initialCapacity));
67976816
}
@@ -12899,7 +12918,7 @@ public final <R> Flowable<R> replay(@NonNull Function<? super Flowable<T>, ? ext
1289912918
@NonNull
1290012919
@BackpressureSupport(BackpressureKind.FULL)
1290112920
@SchedulerSupport(SchedulerSupport.NONE)
12902-
public final <R> Flowable<R> replay(@NonNull Function<? super Flowable<T>, ? extends Publisher<R>> selector, final int bufferSize) {
12921+
public final <R> Flowable<R> replay(@NonNull Function<? super Flowable<T>, ? extends Publisher<R>> selector, int bufferSize) {
1290312922
Objects.requireNonNull(selector, "selector is null");
1290412923
ObjectHelper.verifyPositive(bufferSize, "bufferSize");
1290512924
return FlowableReplay.multicastSelector(FlowableInternalHelper.replaySupplier(this, bufferSize, false), selector);
@@ -12942,7 +12961,7 @@ public final <R> Flowable<R> replay(@NonNull Function<? super Flowable<T>, ? ext
1294212961
@NonNull
1294312962
@BackpressureSupport(BackpressureKind.FULL)
1294412963
@SchedulerSupport(SchedulerSupport.NONE)
12945-
public final <R> Flowable<R> replay(@NonNull Function<? super Flowable<T>, ? extends Publisher<R>> selector, final int bufferSize, boolean eagerTruncate) {
12964+
public final <R> Flowable<R> replay(@NonNull Function<? super Flowable<T>, ? extends Publisher<R>> selector, int bufferSize, boolean eagerTruncate) {
1294612965
Objects.requireNonNull(selector, "selector is null");
1294712966
ObjectHelper.verifyPositive(bufferSize, "bufferSize");
1294812967
return FlowableReplay.multicastSelector(FlowableInternalHelper.replaySupplier(this, bufferSize, eagerTruncate), selector);
@@ -13551,7 +13570,7 @@ public final ConnectableFlowable<T> replay(long time, @NonNull TimeUnit unit, @N
1355113570
@BackpressureSupport(BackpressureKind.FULL)
1355213571
@SchedulerSupport(SchedulerSupport.CUSTOM)
1355313572
@NonNull
13554-
public final ConnectableFlowable<T> replay(final long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean eagerTruncate) {
13573+
public final ConnectableFlowable<T> replay(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean eagerTruncate) {
1355513574
Objects.requireNonNull(unit, "unit is null");
1355613575
Objects.requireNonNull(scheduler, "scheduler is null");
1355713576
return FlowableReplay.create(this, time, unit, scheduler, eagerTruncate);
@@ -16930,7 +16949,7 @@ public final <U, V> Flowable<T> timeout(
1693016949
@NonNull Publisher<U> firstTimeoutIndicator,
1693116950
@NonNull Function<? super T, ? extends Publisher<V>> itemTimeoutIndicator,
1693216951
@NonNull Publisher<? extends T> other) {
16933-
Objects.requireNonNull(firstTimeoutIndicator, "firstTimeoutSelector is null");
16952+
Objects.requireNonNull(firstTimeoutIndicator, "firstTimeoutIndicator is null");
1693416953
Objects.requireNonNull(other, "other is null");
1693516954
return timeout0(firstTimeoutIndicator, itemTimeoutIndicator, other);
1693616955
}
@@ -17152,7 +17171,7 @@ public final Single<List<T>> toList() {
1715217171
@BackpressureSupport(BackpressureKind.UNBOUNDED_IN)
1715317172
@SchedulerSupport(SchedulerSupport.NONE)
1715417173
@NonNull
17155-
public final Single<List<T>> toList(final int capacityHint) {
17174+
public final Single<List<T>> toList(int capacityHint) {
1715617175
ObjectHelper.verifyPositive(capacityHint, "capacityHint");
1715717176
return RxJavaPlugins.onAssembly(new FlowableToListSingle<>(this, Functions.<T>createArrayList(capacityHint)));
1715817177
}
@@ -18470,6 +18489,7 @@ public final <U, V> Flowable<Flowable<T>> window(
1847018489
@NonNull Function3<? super T, ? super T1, ? super T2, R> combiner) {
1847118490
Objects.requireNonNull(source1, "source1 is null");
1847218491
Objects.requireNonNull(source2, "source2 is null");
18492+
Objects.requireNonNull(combiner, "combiner is null");
1847318493
Function<Object[], R> f = Functions.toFunction(combiner);
1847418494
return withLatestFrom(new Publisher[] { source1, source2 }, f);
1847518495
}
@@ -18513,6 +18533,7 @@ public final <U, V> Flowable<Flowable<T>> window(
1851318533
Objects.requireNonNull(source1, "source1 is null");
1851418534
Objects.requireNonNull(source2, "source2 is null");
1851518535
Objects.requireNonNull(source3, "source3 is null");
18536+
Objects.requireNonNull(combiner, "combiner is null");
1851618537
Function<Object[], R> f = Functions.toFunction(combiner);
1851718538
return withLatestFrom(new Publisher[] { source1, source2, source3 }, f);
1851818539
}
@@ -18559,6 +18580,7 @@ public final <U, V> Flowable<Flowable<T>> window(
1855918580
Objects.requireNonNull(source2, "source2 is null");
1856018581
Objects.requireNonNull(source3, "source3 is null");
1856118582
Objects.requireNonNull(source4, "source4 is null");
18583+
Objects.requireNonNull(combiner, "combiner is null");
1856218584
Function<Object[], R> f = Functions.toFunction(combiner);
1856318585
return withLatestFrom(new Publisher[] { source1, source2, source3, source4 }, f);
1856418586
}

0 commit comments

Comments
 (0)