The following issues were found
src/main/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableSwitchIfEmpty.java
7 issues
Line: 22
import io.reactivex.rxjava3.internal.subscriptions.SubscriptionArbiter;
public final class FlowableSwitchIfEmpty<T> extends AbstractFlowableWithUpstream<T, T> {
final Publisher<? extends T> other;
public FlowableSwitchIfEmpty(Flowable<T> source, Publisher<? extends T> other) {
super(source);
this.other = other;
}
Reported by PMD.
Line: 36
}
static final class SwitchIfEmptySubscriber<T> implements FlowableSubscriber<T> {
final Subscriber<? super T> downstream;
final Publisher<? extends T> other;
final SubscriptionArbiter arbiter;
boolean empty;
Reported by PMD.
Line: 37
static final class SwitchIfEmptySubscriber<T> implements FlowableSubscriber<T> {
final Subscriber<? super T> downstream;
final Publisher<? extends T> other;
final SubscriptionArbiter arbiter;
boolean empty;
SwitchIfEmptySubscriber(Subscriber<? super T> actual, Publisher<? extends T> other) {
Reported by PMD.
Line: 38
static final class SwitchIfEmptySubscriber<T> implements FlowableSubscriber<T> {
final Subscriber<? super T> downstream;
final Publisher<? extends T> other;
final SubscriptionArbiter arbiter;
boolean empty;
SwitchIfEmptySubscriber(Subscriber<? super T> actual, Publisher<? extends T> other) {
this.downstream = actual;
Reported by PMD.
Line: 40
final Publisher<? extends T> other;
final SubscriptionArbiter arbiter;
boolean empty;
SwitchIfEmptySubscriber(Subscriber<? super T> actual, Publisher<? extends T> other) {
this.downstream = actual;
this.other = other;
this.empty = true;
Reported by PMD.
Line: 16
package io.reactivex.rxjava3.internal.operators.flowable;
import org.reactivestreams.*;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.internal.subscriptions.SubscriptionArbiter;
public final class FlowableSwitchIfEmpty<T> extends AbstractFlowableWithUpstream<T, T> {
Reported by PMD.
Line: 18
import org.reactivestreams.*;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.internal.subscriptions.SubscriptionArbiter;
public final class FlowableSwitchIfEmpty<T> extends AbstractFlowableWithUpstream<T, T> {
final Publisher<? extends T> other;
public FlowableSwitchIfEmpty(Flowable<T> source, Publisher<? extends T> other) {
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/single/SingleObserveOn.java
7 issues
Line: 24
public final class SingleObserveOn<T> extends Single<T> {
final SingleSource<T> source;
final Scheduler scheduler;
public SingleObserveOn(SingleSource<T> source, Scheduler scheduler) {
this.source = source;
Reported by PMD.
Line: 26
final SingleSource<T> source;
final Scheduler scheduler;
public SingleObserveOn(SingleSource<T> source, Scheduler scheduler) {
this.source = source;
this.scheduler = scheduler;
}
Reported by PMD.
Line: 42
implements SingleObserver<T>, Disposable, Runnable {
private static final long serialVersionUID = 3528003840217436037L;
final SingleObserver<? super T> downstream;
final Scheduler scheduler;
T value;
Throwable error;
Reported by PMD.
Line: 44
final SingleObserver<? super T> downstream;
final Scheduler scheduler;
T value;
Throwable error;
ObserveOnSingleObserver(SingleObserver<? super T> actual, Scheduler scheduler) {
Reported by PMD.
Line: 46
final Scheduler scheduler;
T value;
Throwable error;
ObserveOnSingleObserver(SingleObserver<? super T> actual, Scheduler scheduler) {
this.downstream = actual;
this.scheduler = scheduler;
Reported by PMD.
Line: 47
final Scheduler scheduler;
T value;
Throwable error;
ObserveOnSingleObserver(SingleObserver<? super T> actual, Scheduler scheduler) {
this.downstream = actual;
this.scheduler = scheduler;
}
Reported by PMD.
Line: 18
import java.util.concurrent.atomic.AtomicReference;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.internal.disposables.DisposableHelper;
public final class SingleObserveOn<T> extends Single<T> {
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/single/SingleMap.java
7 issues
Line: 24
import java.util.Objects;
public final class SingleMap<T, R> extends Single<R> {
final SingleSource<? extends T> source;
final Function<? super T, ? extends R> mapper;
public SingleMap(SingleSource<? extends T> source, Function<? super T, ? extends R> mapper) {
this.source = source;
Reported by PMD.
Line: 26
public final class SingleMap<T, R> extends Single<R> {
final SingleSource<? extends T> source;
final Function<? super T, ? extends R> mapper;
public SingleMap(SingleSource<? extends T> source, Function<? super T, ? extends R> mapper) {
this.source = source;
this.mapper = mapper;
}
Reported by PMD.
Line: 40
static final class MapSingleObserver<T, R> implements SingleObserver<T> {
final SingleObserver<? super R> t;
final Function<? super T, ? extends R> mapper;
MapSingleObserver(SingleObserver<? super R> t, Function<? super T, ? extends R> mapper) {
this.t = t;
Reported by PMD.
Line: 42
final SingleObserver<? super R> t;
final Function<? super T, ? extends R> mapper;
MapSingleObserver(SingleObserver<? super R> t, Function<? super T, ? extends R> mapper) {
this.t = t;
this.mapper = mapper;
}
Reported by PMD.
Line: 59
R v;
try {
v = Objects.requireNonNull(mapper.apply(value), "The mapper function returned a null value.");
} catch (Throwable e) {
Exceptions.throwIfFatal(e);
onError(e);
return;
}
Reported by PMD.
Line: 16
package io.reactivex.rxjava3.internal.operators.single;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.exceptions.Exceptions;
import io.reactivex.rxjava3.functions.Function;
import java.util.Objects;
Reported by PMD.
Line: 58
public void onSuccess(T value) {
R v;
try {
v = Objects.requireNonNull(mapper.apply(value), "The mapper function returned a null value.");
} catch (Throwable e) {
Exceptions.throwIfFatal(e);
onError(e);
return;
}
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/single/SingleFromSupplier.java
7 issues
Line: 31
*/
public final class SingleFromSupplier<T> extends Single<T> {
final Supplier<? extends T> supplier;
public SingleFromSupplier(Supplier<? extends T> supplier) {
this.supplier = supplier;
}
Reported by PMD.
Line: 42
Disposable d = Disposable.empty();
observer.onSubscribe(d);
if (d.isDisposed()) {
return;
}
T value;
try {
Reported by PMD.
Line: 49
try {
value = Objects.requireNonNull(supplier.get(), "The supplier returned a null value");
} catch (Throwable ex) {
Exceptions.throwIfFatal(ex);
if (!d.isDisposed()) {
observer.onError(ex);
} else {
RxJavaPlugins.onError(ex);
Reported by PMD.
Line: 59
return;
}
if (!d.isDisposed()) {
observer.onSuccess(value);
}
}
}
Reported by PMD.
Line: 16
package io.reactivex.rxjava3.internal.operators.single;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.disposables.*;
import io.reactivex.rxjava3.exceptions.Exceptions;
import io.reactivex.rxjava3.functions.Supplier;
import io.reactivex.rxjava3.plugins.RxJavaPlugins;
Reported by PMD.
Line: 17
package io.reactivex.rxjava3.internal.operators.single;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.disposables.*;
import io.reactivex.rxjava3.exceptions.Exceptions;
import io.reactivex.rxjava3.functions.Supplier;
import io.reactivex.rxjava3.plugins.RxJavaPlugins;
import java.util.Objects;
Reported by PMD.
Line: 48
T value;
try {
value = Objects.requireNonNull(supplier.get(), "The supplier returned a null value");
} catch (Throwable ex) {
Exceptions.throwIfFatal(ex);
if (!d.isDisposed()) {
observer.onError(ex);
} else {
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/single/SingleFromCallable.java
7 issues
Line: 26
public final class SingleFromCallable<T> extends Single<T> {
final Callable<? extends T> callable;
public SingleFromCallable(Callable<? extends T> callable) {
this.callable = callable;
}
Reported by PMD.
Line: 37
Disposable d = Disposable.empty();
observer.onSubscribe(d);
if (d.isDisposed()) {
return;
}
T value;
try {
Reported by PMD.
Line: 44
try {
value = Objects.requireNonNull(callable.call(), "The callable returned a null value");
} catch (Throwable ex) {
Exceptions.throwIfFatal(ex);
if (!d.isDisposed()) {
observer.onError(ex);
} else {
RxJavaPlugins.onError(ex);
Reported by PMD.
Line: 54
return;
}
if (!d.isDisposed()) {
observer.onSuccess(value);
}
}
}
Reported by PMD.
Line: 19
import java.util.Objects;
import java.util.concurrent.Callable;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.disposables.*;
import io.reactivex.rxjava3.exceptions.Exceptions;
import io.reactivex.rxjava3.plugins.RxJavaPlugins;
public final class SingleFromCallable<T> extends Single<T> {
Reported by PMD.
Line: 20
import java.util.concurrent.Callable;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.disposables.*;
import io.reactivex.rxjava3.exceptions.Exceptions;
import io.reactivex.rxjava3.plugins.RxJavaPlugins;
public final class SingleFromCallable<T> extends Single<T> {
Reported by PMD.
Line: 43
T value;
try {
value = Objects.requireNonNull(callable.call(), "The callable returned a null value");
} catch (Throwable ex) {
Exceptions.throwIfFatal(ex);
if (!d.isDisposed()) {
observer.onError(ex);
} else {
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/completable/CompletableObserveOn.java
7 issues
Line: 24
public final class CompletableObserveOn extends Completable {
final CompletableSource source;
final Scheduler scheduler;
public CompletableObserveOn(CompletableSource source, Scheduler scheduler) {
this.source = source;
this.scheduler = scheduler;
Reported by PMD.
Line: 26
final CompletableSource source;
final Scheduler scheduler;
public CompletableObserveOn(CompletableSource source, Scheduler scheduler) {
this.source = source;
this.scheduler = scheduler;
}
Reported by PMD.
Line: 43
private static final long serialVersionUID = 8571289934935992137L;
final CompletableObserver downstream;
final Scheduler scheduler;
Throwable error;
Reported by PMD.
Line: 45
final CompletableObserver downstream;
final Scheduler scheduler;
Throwable error;
ObserveOnCompletableObserver(CompletableObserver actual, Scheduler scheduler) {
this.downstream = actual;
Reported by PMD.
Line: 47
final Scheduler scheduler;
Throwable error;
ObserveOnCompletableObserver(CompletableObserver actual, Scheduler scheduler) {
this.downstream = actual;
this.scheduler = scheduler;
}
Reported by PMD.
Line: 86
public void run() {
Throwable ex = error;
if (ex != null) {
error = null;
downstream.onError(ex);
} else {
downstream.onComplete();
}
}
Reported by PMD.
Line: 18
import java.util.concurrent.atomic.AtomicReference;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.internal.disposables.DisposableHelper;
public final class CompletableObserveOn extends Completable {
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/completable/CompletableDoFinally.java
7 issues
Line: 32
*/
public final class CompletableDoFinally extends Completable {
final CompletableSource source;
final Action onFinally;
public CompletableDoFinally(CompletableSource source, Action onFinally) {
this.source = source;
Reported by PMD.
Line: 34
final CompletableSource source;
final Action onFinally;
public CompletableDoFinally(CompletableSource source, Action onFinally) {
this.source = source;
this.onFinally = onFinally;
}
Reported by PMD.
Line: 50
private static final long serialVersionUID = 4109457741734051389L;
final CompletableObserver downstream;
final Action onFinally;
Disposable upstream;
Reported by PMD.
Line: 52
final CompletableObserver downstream;
final Action onFinally;
Disposable upstream;
DoFinallyObserver(CompletableObserver actual, Action onFinally) {
this.downstream = actual;
Reported by PMD.
Line: 54
final Action onFinally;
Disposable upstream;
DoFinallyObserver(CompletableObserver actual, Action onFinally) {
this.downstream = actual;
this.onFinally = onFinally;
}
Reported by PMD.
Line: 97
if (compareAndSet(0, 1)) {
try {
onFinally.run();
} catch (Throwable ex) {
Exceptions.throwIfFatal(ex);
RxJavaPlugins.onError(ex);
}
}
}
Reported by PMD.
Line: 18
import java.util.concurrent.atomic.AtomicInteger;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.exceptions.Exceptions;
import io.reactivex.rxjava3.functions.Action;
import io.reactivex.rxjava3.internal.disposables.DisposableHelper;
import io.reactivex.rxjava3.plugins.RxJavaPlugins;
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/completable/CompletableDisposeOn.java
7 issues
Line: 23
public final class CompletableDisposeOn extends Completable {
final CompletableSource source;
final Scheduler scheduler;
public CompletableDisposeOn(CompletableSource source, Scheduler scheduler) {
this.source = source;
Reported by PMD.
Line: 25
final CompletableSource source;
final Scheduler scheduler;
public CompletableDisposeOn(CompletableSource source, Scheduler scheduler) {
this.source = source;
this.scheduler = scheduler;
}
Reported by PMD.
Line: 38
}
static final class DisposeOnObserver implements CompletableObserver, Disposable, Runnable {
final CompletableObserver downstream;
final Scheduler scheduler;
Disposable upstream;
Reported by PMD.
Line: 40
static final class DisposeOnObserver implements CompletableObserver, Disposable, Runnable {
final CompletableObserver downstream;
final Scheduler scheduler;
Disposable upstream;
volatile boolean disposed;
Reported by PMD.
Line: 42
final Scheduler scheduler;
Disposable upstream;
volatile boolean disposed;
DisposeOnObserver(CompletableObserver observer, Scheduler scheduler) {
this.downstream = observer;
Reported by PMD.
Line: 44
Disposable upstream;
volatile boolean disposed;
DisposeOnObserver(CompletableObserver observer, Scheduler scheduler) {
this.downstream = observer;
this.scheduler = scheduler;
}
Reported by PMD.
Line: 16
package io.reactivex.rxjava3.internal.operators.completable;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.internal.disposables.DisposableHelper;
import io.reactivex.rxjava3.plugins.RxJavaPlugins;
public final class CompletableDisposeOn extends Completable {
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/completable/CompletableDetach.java
7 issues
Line: 27
*/
public final class CompletableDetach extends Completable {
final CompletableSource source;
public CompletableDetach(CompletableSource source) {
this.source = source;
}
Reported by PMD.
Line: 40
static final class DetachCompletableObserver implements CompletableObserver, Disposable {
CompletableObserver downstream;
Disposable upstream;
DetachCompletableObserver(CompletableObserver downstream) {
this.downstream = downstream;
Reported by PMD.
Line: 42
CompletableObserver downstream;
Disposable upstream;
DetachCompletableObserver(CompletableObserver downstream) {
this.downstream = downstream;
}
Reported by PMD.
Line: 50
@Override
public void dispose() {
downstream = null;
upstream.dispose();
upstream = DisposableHelper.DISPOSED;
}
@Override
Reported by PMD.
Line: 74
upstream = DisposableHelper.DISPOSED;
CompletableObserver a = downstream;
if (a != null) {
downstream = null;
a.onError(e);
}
}
@Override
Reported by PMD.
Line: 84
upstream = DisposableHelper.DISPOSED;
CompletableObserver a = downstream;
if (a != null) {
downstream = null;
a.onComplete();
}
}
}
}
Reported by PMD.
Line: 16
package io.reactivex.rxjava3.internal.operators.completable;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.internal.disposables.DisposableHelper;
/**
* Breaks the references between the upstream and downstream when the Completable terminates.
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableConcatWithSingle.java
6 issues
Line: 35
*/
public final class FlowableConcatWithSingle<T> extends AbstractFlowableWithUpstream<T, T> {
final SingleSource<? extends T> other;
public FlowableConcatWithSingle(Flowable<T> source, SingleSource<? extends T> other) {
super(source);
this.other = other;
}
Reported by PMD.
Line: 53
private static final long serialVersionUID = -7346385463600070225L;
final AtomicReference<Disposable> otherDisposable;
SingleSource<? extends T> other;
ConcatWithSubscriber(Subscriber<? super T> actual, SingleSource<? extends T> other) {
super(actual);
Reported by PMD.
Line: 55
final AtomicReference<Disposable> otherDisposable;
SingleSource<? extends T> other;
ConcatWithSubscriber(Subscriber<? super T> actual, SingleSource<? extends T> other) {
super(actual);
this.other = other;
this.otherDisposable = new AtomicReference<>();
Reported by PMD.
Line: 88
public void onComplete() {
upstream = SubscriptionHelper.CANCELLED;
SingleSource<? extends T> ss = other;
other = null;
ss.subscribe(this);
}
@Override
public void cancel() {
Reported by PMD.
Line: 89
upstream = SubscriptionHelper.CANCELLED;
SingleSource<? extends T> ss = other;
other = null;
ss.subscribe(this);
}
@Override
public void cancel() {
super.cancel();
Reported by PMD.
Line: 20
import org.reactivestreams.Subscriber;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.internal.disposables.DisposableHelper;
import io.reactivex.rxjava3.internal.subscribers.SinglePostCompleteSubscriber;
import io.reactivex.rxjava3.internal.subscriptions.SubscriptionHelper;
Reported by PMD.