The following issues were found
src/test/java/io/reactivex/rxjava3/internal/operators/completable/CompletableDelayTest.java
18 issues
Line: 33
public class CompletableDelayTest extends RxJavaTest {
@Test
public void delayCustomScheduler() {
Completable.complete()
.delay(100, TimeUnit.MILLISECONDS, Schedulers.trampoline())
.test()
.assertResult();
Reported by PMD.
Line: 35
@Test
public void delayCustomScheduler() {
Completable.complete()
.delay(100, TimeUnit.MILLISECONDS, Schedulers.trampoline())
.test()
.assertResult();
}
Reported by PMD.
Line: 35
@Test
public void delayCustomScheduler() {
Completable.complete()
.delay(100, TimeUnit.MILLISECONDS, Schedulers.trampoline())
.test()
.assertResult();
}
Reported by PMD.
Line: 35
@Test
public void delayCustomScheduler() {
Completable.complete()
.delay(100, TimeUnit.MILLISECONDS, Schedulers.trampoline())
.test()
.assertResult();
}
Reported by PMD.
Line: 42
}
@Test
public void onErrorCalledOnScheduler() throws Exception {
final CountDownLatch latch = new CountDownLatch(1);
final AtomicReference<Thread> thread = new AtomicReference<>();
Completable.error(new Exception())
.delay(0, TimeUnit.MILLISECONDS, Schedulers.newThread())
Reported by PMD.
Line: 64
}
@Test
public void disposed() {
TestHelper.checkDisposed(Completable.never().delay(1, TimeUnit.MINUTES));
}
@Test
public void doubleOnSubscribe() {
Reported by PMD.
Line: 65
@Test
public void disposed() {
TestHelper.checkDisposed(Completable.never().delay(1, TimeUnit.MINUTES));
}
@Test
public void doubleOnSubscribe() {
TestHelper.checkDoubleOnSubscribeCompletable(new Function<Completable, CompletableSource>() {
Reported by PMD.
Line: 69
}
@Test
public void doubleOnSubscribe() {
TestHelper.checkDoubleOnSubscribeCompletable(new Function<Completable, CompletableSource>() {
@Override
public CompletableSource apply(Completable c) throws Exception {
return c.delay(1, TimeUnit.MINUTES);
}
Reported by PMD.
Line: 79
}
@Test
public void normal() {
Completable.complete()
.delay(1, TimeUnit.MILLISECONDS)
.test()
.awaitDone(5, TimeUnit.SECONDS)
.assertResult();
Reported by PMD.
Line: 80
@Test
public void normal() {
Completable.complete()
.delay(1, TimeUnit.MILLISECONDS)
.test()
.awaitDone(5, TimeUnit.SECONDS)
.assertResult();
}
Reported by PMD.
src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableDoAfterTerminateTest.java
18 issues
Line: 34
public class FlowableDoAfterTerminateTest extends RxJavaTest {
private Action aAction0;
private Subscriber<String> subscriber;
@Before
public void before() {
aAction0 = Mockito.mock(Action.class);
Reported by PMD.
Line: 35
public class FlowableDoAfterTerminateTest extends RxJavaTest {
private Action aAction0;
private Subscriber<String> subscriber;
@Before
public void before() {
aAction0 = Mockito.mock(Action.class);
subscriber = TestHelper.mockSubscriber();
Reported by PMD.
Line: 44
}
private void checkActionCalled(Flowable<String> input) {
input.doAfterTerminate(aAction0).subscribe(subscriber);
try {
verify(aAction0, times(1)).run();
} catch (Throwable ex) {
throw ExceptionHelper.wrapOrThrow(ex);
}
Reported by PMD.
Line: 46
private void checkActionCalled(Flowable<String> input) {
input.doAfterTerminate(aAction0).subscribe(subscriber);
try {
verify(aAction0, times(1)).run();
} catch (Throwable ex) {
throw ExceptionHelper.wrapOrThrow(ex);
}
}
Reported by PMD.
Line: 47
input.doAfterTerminate(aAction0).subscribe(subscriber);
try {
verify(aAction0, times(1)).run();
} catch (Throwable ex) {
throw ExceptionHelper.wrapOrThrow(ex);
}
}
@Test
Reported by PMD.
Line: 65
@Test
public void nullActionShouldBeCheckedInConstructor() {
try {
Flowable.empty().doAfterTerminate(null);
fail("Should have thrown NullPointerException");
} catch (NullPointerException expected) {
assertEquals("onAfterTerminate is null", expected.getMessage());
}
}
Reported by PMD.
Line: 67
try {
Flowable.empty().doAfterTerminate(null);
fail("Should have thrown NullPointerException");
} catch (NullPointerException expected) {
assertEquals("onAfterTerminate is null", expected.getMessage());
}
}
@Test
Reported by PMD.
Line: 67
try {
Flowable.empty().doAfterTerminate(null);
fail("Should have thrown NullPointerException");
} catch (NullPointerException expected) {
assertEquals("onAfterTerminate is null", expected.getMessage());
}
}
@Test
Reported by PMD.
Line: 75
@Test
public void nullFinallyActionShouldBeCheckedASAP() {
try {
Flowable
.just("value")
.doAfterTerminate(null);
fail();
} catch (NullPointerException expected) {
Reported by PMD.
Line: 80
.doAfterTerminate(null);
fail();
} catch (NullPointerException expected) {
}
}
@Test
Reported by PMD.
src/main/java/io/reactivex/rxjava3/subjects/MaybeSubject.java
18 issues
Line: 112
* @param <T> the value type received and emitted
* @since 2.1
*/
public final class MaybeSubject<T> extends Maybe<T> implements MaybeObserver<T> {
final AtomicReference<MaybeDisposable<T>[]> observers;
@SuppressWarnings("rawtypes")
static final MaybeDisposable[] EMPTY = new MaybeDisposable[0];
Reported by PMD.
Line: 114
*/
public final class MaybeSubject<T> extends Maybe<T> implements MaybeObserver<T> {
final AtomicReference<MaybeDisposable<T>[]> observers;
@SuppressWarnings("rawtypes")
static final MaybeDisposable[] EMPTY = new MaybeDisposable[0];
@SuppressWarnings("rawtypes")
Reported by PMD.
Line: 122
@SuppressWarnings("rawtypes")
static final MaybeDisposable[] TERMINATED = new MaybeDisposable[0];
final AtomicBoolean once;
T value;
Throwable error;
/**
* Creates a fresh MaybeSubject.
Reported by PMD.
Line: 123
static final MaybeDisposable[] TERMINATED = new MaybeDisposable[0];
final AtomicBoolean once;
T value;
Throwable error;
/**
* Creates a fresh MaybeSubject.
* @param <T> the value type received and emitted
Reported by PMD.
Line: 124
final AtomicBoolean once;
T value;
Throwable error;
/**
* Creates a fresh MaybeSubject.
* @param <T> the value type received and emitted
* @return the new MaybeSubject instance
Reported by PMD.
Line: 137
return new MaybeSubject<>();
}
@SuppressWarnings("unchecked")
MaybeSubject() {
once = new AtomicBoolean();
observers = new AtomicReference<>(EMPTY);
}
Reported by PMD.
Line: 157
if (once.compareAndSet(false, true)) {
this.value = value;
for (MaybeDisposable<T> md : observers.getAndSet(TERMINATED)) {
md.downstream.onSuccess(value);
}
}
}
@SuppressWarnings("unchecked")
Reported by PMD.
Line: 169
if (once.compareAndSet(false, true)) {
this.error = e;
for (MaybeDisposable<T> md : observers.getAndSet(TERMINATED)) {
md.downstream.onError(e);
}
} else {
RxJavaPlugins.onError(e);
}
}
Reported by PMD.
Line: 181
public void onComplete() {
if (once.compareAndSet(false, true)) {
for (MaybeDisposable<T> md : observers.getAndSet(TERMINATED)) {
md.downstream.onComplete();
}
}
}
@Override
Reported by PMD.
Line: 218
int n = a.length;
@SuppressWarnings("unchecked")
MaybeDisposable<T>[] b = new MaybeDisposable[n + 1];
System.arraycopy(a, 0, b, 0, n);
b[n] = inner;
if (observers.compareAndSet(a, b)) {
return true;
}
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/observable/ObservableCreate.java
18 issues
Line: 79
}
@Override
public boolean tryOnError(Throwable t) {
if (t == null) {
t = ExceptionHelper.createNullPointerException("onError called with a null Throwable.");
}
if (!isDisposed()) {
try {
Reported by PMD.
Line: 195
}
@Override
public boolean tryOnError(Throwable t) {
if (done || emitter.isDisposed()) {
return false;
}
if (t == null) {
t = ExceptionHelper.createNullPointerException("onError called with a null Throwable.");
Reported by PMD.
Line: 29
import io.reactivex.rxjava3.plugins.RxJavaPlugins;
public final class ObservableCreate<T> extends Observable<T> {
final ObservableOnSubscribe<T> source;
public ObservableCreate(ObservableOnSubscribe<T> source) {
this.source = source;
}
Reported by PMD.
Line: 42
try {
source.subscribe(parent);
} catch (Throwable ex) {
Exceptions.throwIfFatal(ex);
parent.onError(ex);
}
}
Reported by PMD.
Line: 54
private static final long serialVersionUID = -3434801548987643227L;
final Observer<? super T> observer;
CreateEmitter(Observer<? super T> observer) {
this.observer = observer;
}
Reported by PMD.
Line: 132
@Override
public String toString() {
return String.format("%s{%s}", getClass().getSimpleName(), super.toString());
}
}
/**
* Serializes calls to onNext, onError and onComplete.
Reported by PMD.
Line: 147
private static final long serialVersionUID = 4883307006032401862L;
final ObservableEmitter<T> emitter;
final AtomicThrowable errors;
final SpscLinkedArrayQueue<T> queue;
Reported by PMD.
Line: 149
final ObservableEmitter<T> emitter;
final AtomicThrowable errors;
final SpscLinkedArrayQueue<T> queue;
volatile boolean done;
Reported by PMD.
Line: 151
final AtomicThrowable errors;
final SpscLinkedArrayQueue<T> queue;
volatile boolean done;
SerializedEmitter(ObservableEmitter<T> emitter) {
this.emitter = emitter;
Reported by PMD.
Line: 153
final SpscLinkedArrayQueue<T> queue;
volatile boolean done;
SerializedEmitter(ObservableEmitter<T> emitter) {
this.emitter = emitter;
this.errors = new AtomicThrowable();
this.queue = new SpscLinkedArrayQueue<>(16);
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableFlatMapCompletable.java
18 issues
Line: 36
*/
public final class FlowableFlatMapCompletable<T> extends AbstractFlowableWithUpstream<T, T> {
final Function<? super T, ? extends CompletableSource> mapper;
final int maxConcurrency;
final boolean delayErrors;
Reported by PMD.
Line: 38
final Function<? super T, ? extends CompletableSource> mapper;
final int maxConcurrency;
final boolean delayErrors;
public FlowableFlatMapCompletable(Flowable<T> source,
Function<? super T, ? extends CompletableSource> mapper, boolean delayErrors,
Reported by PMD.
Line: 40
final int maxConcurrency;
final boolean delayErrors;
public FlowableFlatMapCompletable(Flowable<T> source,
Function<? super T, ? extends CompletableSource> mapper, boolean delayErrors,
int maxConcurrency) {
super(source);
Reported by PMD.
Line: 57
}
static final class FlatMapCompletableMainSubscriber<T> extends BasicIntQueueSubscription<T>
implements FlowableSubscriber<T> {
private static final long serialVersionUID = 8443155186132538303L;
final Subscriber<? super T> downstream;
final AtomicThrowable errors;
Reported by PMD.
Line: 60
implements FlowableSubscriber<T> {
private static final long serialVersionUID = 8443155186132538303L;
final Subscriber<? super T> downstream;
final AtomicThrowable errors;
final Function<? super T, ? extends CompletableSource> mapper;
Reported by PMD.
Line: 62
final Subscriber<? super T> downstream;
final AtomicThrowable errors;
final Function<? super T, ? extends CompletableSource> mapper;
final boolean delayErrors;
Reported by PMD.
Line: 64
final AtomicThrowable errors;
final Function<? super T, ? extends CompletableSource> mapper;
final boolean delayErrors;
final CompositeDisposable set;
Reported by PMD.
Line: 66
final Function<? super T, ? extends CompletableSource> mapper;
final boolean delayErrors;
final CompositeDisposable set;
final int maxConcurrency;
Reported by PMD.
Line: 68
final boolean delayErrors;
final CompositeDisposable set;
final int maxConcurrency;
Subscription upstream;
Reported by PMD.
Line: 70
final CompositeDisposable set;
final int maxConcurrency;
Subscription upstream;
volatile boolean cancelled;
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/single/SingleFlatMapBiSelector.java
18 issues
Line: 36
*/
public final class SingleFlatMapBiSelector<T, U, R> extends Single<R> {
final SingleSource<T> source;
final Function<? super T, ? extends SingleSource<? extends U>> mapper;
final BiFunction<? super T, ? super U, ? extends R> resultSelector;
Reported by PMD.
Line: 38
final SingleSource<T> source;
final Function<? super T, ? extends SingleSource<? extends U>> mapper;
final BiFunction<? super T, ? super U, ? extends R> resultSelector;
public SingleFlatMapBiSelector(SingleSource<T> source,
Function<? super T, ? extends SingleSource<? extends U>> mapper,
Reported by PMD.
Line: 40
final Function<? super T, ? extends SingleSource<? extends U>> mapper;
final BiFunction<? super T, ? super U, ? extends R> resultSelector;
public SingleFlatMapBiSelector(SingleSource<T> source,
Function<? super T, ? extends SingleSource<? extends U>> mapper,
BiFunction<? super T, ? super U, ? extends R> resultSelector) {
this.source = source;
Reported by PMD.
Line: 58
static final class FlatMapBiMainObserver<T, U, R>
implements SingleObserver<T>, Disposable {
final Function<? super T, ? extends SingleSource<? extends U>> mapper;
final InnerObserver<T, U, R> inner;
FlatMapBiMainObserver(SingleObserver<? super R> actual,
Function<? super T, ? extends SingleSource<? extends U>> mapper,
Reported by PMD.
Line: 60
final Function<? super T, ? extends SingleSource<? extends U>> mapper;
final InnerObserver<T, U, R> inner;
FlatMapBiMainObserver(SingleObserver<? super R> actual,
Function<? super T, ? extends SingleSource<? extends U>> mapper,
BiFunction<? super T, ? super U, ? extends R> resultSelector) {
this.inner = new InnerObserver<>(actual, resultSelector);
Reported by PMD.
Line: 82
@Override
public void onSubscribe(Disposable d) {
if (DisposableHelper.setOnce(inner, d)) {
inner.downstream.onSubscribe(this);
}
}
@Override
public void onSuccess(T value) {
Reported by PMD.
Line: 92
try {
next = Objects.requireNonNull(mapper.apply(value), "The mapper returned a null MaybeSource");
} catch (Throwable ex) {
Exceptions.throwIfFatal(ex);
inner.downstream.onError(ex);
return;
}
Reported by PMD.
Line: 94
next = Objects.requireNonNull(mapper.apply(value), "The mapper returned a null MaybeSource");
} catch (Throwable ex) {
Exceptions.throwIfFatal(ex);
inner.downstream.onError(ex);
return;
}
if (DisposableHelper.replace(inner, null)) {
inner.value = value;
Reported by PMD.
Line: 106
@Override
public void onError(Throwable e) {
inner.downstream.onError(e);
}
static final class InnerObserver<T, U, R>
extends AtomicReference<Disposable>
implements SingleObserver<U> {
Reported by PMD.
Line: 115
private static final long serialVersionUID = -2897979525538174559L;
final SingleObserver<? super R> downstream;
final BiFunction<? super T, ? super U, ? extends R> resultSelector;
T value;
Reported by PMD.
src/jmh/java/io/reactivex/rxjava3/parallel/ParallelPerf.java
18 issues
Line: 37
public class ParallelPerf implements Function<Integer, Integer> {
@Param({"10000"})
public int count;
@Param({"1", "10", "100", "1000", "10000"})
public int compute;
@Param({"1", "2", "3", "4"})
Reported by PMD.
Line: 40
public int count;
@Param({"1", "10", "100", "1000", "10000"})
public int compute;
@Param({"1", "2", "3", "4"})
public int parallelism;
Flowable<Integer> flatMap;
Reported by PMD.
Line: 43
public int compute;
@Param({"1", "2", "3", "4"})
public int parallelism;
Flowable<Integer> flatMap;
Flowable<Integer> groupBy;
Reported by PMD.
Line: 45
@Param({"1", "2", "3", "4"})
public int parallelism;
Flowable<Integer> flatMap;
Flowable<Integer> groupBy;
Flowable<Integer> parallel;
Reported by PMD.
Line: 45
@Param({"1", "2", "3", "4"})
public int parallelism;
Flowable<Integer> flatMap;
Flowable<Integer> groupBy;
Flowable<Integer> parallel;
Reported by PMD.
Line: 47
Flowable<Integer> flatMap;
Flowable<Integer> groupBy;
Flowable<Integer> parallel;
@Override
public Integer apply(Integer t) {
Reported by PMD.
Line: 47
Flowable<Integer> flatMap;
Flowable<Integer> groupBy;
Flowable<Integer> parallel;
@Override
public Integer apply(Integer t) {
Reported by PMD.
Line: 49
Flowable<Integer> groupBy;
Flowable<Integer> parallel;
@Override
public Integer apply(Integer t) {
Blackhole.consumeCPU(compute);
return t;
Reported by PMD.
Line: 49
Flowable<Integer> groupBy;
Flowable<Integer> parallel;
@Override
public Integer apply(Integer t) {
Blackhole.consumeCPU(compute);
return t;
Reported by PMD.
Line: 70
flatMap = source.flatMap(new Function<Integer, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Integer v) {
return Flowable.just(v).subscribeOn(Schedulers.computation())
.map(ParallelPerf.this);
}
}, cpu);
groupBy = source.groupBy(new Function<Integer, Integer>() {
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableDoFinally.java
18 issues
Line: 34
*/
public final class FlowableDoFinally<T> extends AbstractFlowableWithUpstream<T, T> {
final Action onFinally;
public FlowableDoFinally(Flowable<T> source, Action onFinally) {
super(source);
this.onFinally = onFinally;
}
Reported by PMD.
Line: 54
private static final long serialVersionUID = 4109457741734051389L;
final Subscriber<? super T> downstream;
final Action onFinally;
Subscription upstream;
Reported by PMD.
Line: 56
final Subscriber<? super T> downstream;
final Action onFinally;
Subscription upstream;
QueueSubscription<T> qs;
Reported by PMD.
Line: 58
final Action onFinally;
Subscription upstream;
QueueSubscription<T> qs;
boolean syncFused;
Reported by PMD.
Line: 60
Subscription upstream;
QueueSubscription<T> qs;
boolean syncFused;
DoFinallySubscriber(Subscriber<? super T> actual, Action onFinally) {
this.downstream = actual;
Reported by PMD.
Line: 62
QueueSubscription<T> qs;
boolean syncFused;
DoFinallySubscriber(Subscriber<? super T> actual, Action onFinally) {
this.downstream = actual;
this.onFinally = onFinally;
}
Reported by PMD.
Line: 147
if (compareAndSet(0, 1)) {
try {
onFinally.run();
} catch (Throwable ex) {
Exceptions.throwIfFatal(ex);
RxJavaPlugins.onError(ex);
}
}
}
Reported by PMD.
Line: 155
}
}
static final class DoFinallyConditionalSubscriber<T> extends BasicIntQueueSubscription<T> implements ConditionalSubscriber<T> {
private static final long serialVersionUID = 4109457741734051389L;
final ConditionalSubscriber<? super T> downstream;
Reported by PMD.
Line: 159
private static final long serialVersionUID = 4109457741734051389L;
final ConditionalSubscriber<? super T> downstream;
final Action onFinally;
Subscription upstream;
Reported by PMD.
Line: 161
final ConditionalSubscriber<? super T> downstream;
final Action onFinally;
Subscription upstream;
QueueSubscription<T> qs;
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableDebounceTimed.java
18 issues
Line: 32
import io.reactivex.rxjava3.subscribers.SerializedSubscriber;
public final class FlowableDebounceTimed<T> extends AbstractFlowableWithUpstream<T, T> {
final long timeout;
final TimeUnit unit;
final Scheduler scheduler;
public FlowableDebounceTimed(Flowable<T> source, long timeout, TimeUnit unit, Scheduler scheduler) {
super(source);
Reported by PMD.
Line: 33
public final class FlowableDebounceTimed<T> extends AbstractFlowableWithUpstream<T, T> {
final long timeout;
final TimeUnit unit;
final Scheduler scheduler;
public FlowableDebounceTimed(Flowable<T> source, long timeout, TimeUnit unit, Scheduler scheduler) {
super(source);
this.timeout = timeout;
Reported by PMD.
Line: 34
public final class FlowableDebounceTimed<T> extends AbstractFlowableWithUpstream<T, T> {
final long timeout;
final TimeUnit unit;
final Scheduler scheduler;
public FlowableDebounceTimed(Flowable<T> source, long timeout, TimeUnit unit, Scheduler scheduler) {
super(source);
this.timeout = timeout;
this.unit = unit;
Reported by PMD.
Line: 54
implements FlowableSubscriber<T>, Subscription {
private static final long serialVersionUID = -9102637559663639004L;
final Subscriber<? super T> downstream;
final long timeout;
final TimeUnit unit;
final Scheduler.Worker worker;
Subscription upstream;
Reported by PMD.
Line: 55
private static final long serialVersionUID = -9102637559663639004L;
final Subscriber<? super T> downstream;
final long timeout;
final TimeUnit unit;
final Scheduler.Worker worker;
Subscription upstream;
Reported by PMD.
Line: 56
private static final long serialVersionUID = -9102637559663639004L;
final Subscriber<? super T> downstream;
final long timeout;
final TimeUnit unit;
final Scheduler.Worker worker;
Subscription upstream;
Disposable timer;
Reported by PMD.
Line: 57
final Subscriber<? super T> downstream;
final long timeout;
final TimeUnit unit;
final Scheduler.Worker worker;
Subscription upstream;
Disposable timer;
Reported by PMD.
Line: 59
final TimeUnit unit;
final Scheduler.Worker worker;
Subscription upstream;
Disposable timer;
volatile long index;
Reported by PMD.
Line: 61
Subscription upstream;
Disposable timer;
volatile long index;
boolean done;
Reported by PMD.
Line: 63
Disposable timer;
volatile long index;
boolean done;
DebounceTimedSubscriber(Subscriber<? super T> actual, long timeout, TimeUnit unit, Worker worker) {
this.downstream = actual;
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/observable/ObservableRetryWhen.java
18 issues
Line: 34
*/
public final class ObservableRetryWhen<T> extends AbstractObservableWithUpstream<T, T> {
final Function<? super Observable<Throwable>, ? extends ObservableSource<?>> handler;
public ObservableRetryWhen(ObservableSource<T> source, Function<? super Observable<Throwable>, ? extends ObservableSource<?>> handler) {
super(source);
this.handler = handler;
}
Reported by PMD.
Line: 43
@Override
protected void subscribeActual(Observer<? super T> observer) {
Subject<Throwable> signaller = PublishSubject.<Throwable>create().toSerialized();
ObservableSource<?> other;
try {
other = Objects.requireNonNull(handler.apply(signaller), "The handler returned a null ObservableSource");
Reported by PMD.
Line: 43
@Override
protected void subscribeActual(Observer<? super T> observer) {
Subject<Throwable> signaller = PublishSubject.<Throwable>create().toSerialized();
ObservableSource<?> other;
try {
other = Objects.requireNonNull(handler.apply(signaller), "The handler returned a null ObservableSource");
Reported by PMD.
Line: 49
try {
other = Objects.requireNonNull(handler.apply(signaller), "The handler returned a null ObservableSource");
} catch (Throwable ex) {
Exceptions.throwIfFatal(ex);
EmptyDisposable.error(ex, observer);
return;
}
Reported by PMD.
Line: 58
RepeatWhenObserver<T> parent = new RepeatWhenObserver<>(observer, signaller, source);
observer.onSubscribe(parent);
other.subscribe(parent.inner);
parent.subscribeNext();
}
static final class RepeatWhenObserver<T> extends AtomicInteger implements Observer<T>, Disposable {
Reported by PMD.
Line: 67
private static final long serialVersionUID = 802743776666017014L;
final Observer<? super T> downstream;
final AtomicInteger wip;
final AtomicThrowable error;
Reported by PMD.
Line: 69
final Observer<? super T> downstream;
final AtomicInteger wip;
final AtomicThrowable error;
final Subject<Throwable> signaller;
Reported by PMD.
Line: 71
final AtomicInteger wip;
final AtomicThrowable error;
final Subject<Throwable> signaller;
final InnerRepeatObserver inner;
Reported by PMD.
Line: 73
final AtomicThrowable error;
final Subject<Throwable> signaller;
final InnerRepeatObserver inner;
final AtomicReference<Disposable> upstream;
Reported by PMD.
Line: 75
final Subject<Throwable> signaller;
final InnerRepeatObserver inner;
final AtomicReference<Disposable> upstream;
final ObservableSource<T> source;
Reported by PMD.