The following issues were found

src/test/java/io/reactivex/rxjava3/tck/MergeWithMaybeEmptyTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Long> createPublisher(long elements) {
        return
            Flowable.rangeLong(1, elements)
            .mergeWith(Maybe.<Long>empty())
        ;
    }
}

            

Reported by PMD.

Avoid unused imports such as 'io.reactivex.rxjava3.core'
Design

Line: 19

              import org.reactivestreams.Publisher;
import org.testng.annotations.Test;

import io.reactivex.rxjava3.core.*;

@Test
public class MergeWithMaybeEmptyTckTest extends BaseTck<Long> {

    @Override

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/MergeWithSingleTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 30

                          return Flowable.empty();
        }
        return
            Flowable.rangeLong(1, elements - 1)
            .mergeWith(Single.just(elements))
        ;
    }
}

            

Reported by PMD.

Avoid unused imports such as 'io.reactivex.rxjava3.core'
Design

Line: 19

              import org.reactivestreams.Publisher;
import org.testng.annotations.Test;

import io.reactivex.rxjava3.core.*;

@Test
public class MergeWithSingleTckTest extends BaseTck<Long> {

    @Override

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/SingleTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Integer> createPublisher(final long elements) {
        return
                Flowable.just(1).singleElement().toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Integer> createPublisher(final long elements) {
        return
                Flowable.just(1).singleElement().toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/ToListTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 29

                  @Override
    public Publisher<List<Integer>> createPublisher(final long elements) {
        return
                Flowable.range(1, 1000).toList().toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

Potential violation of Law of Demeter (method chain calls)
Design

Line: 29

                  @Override
    public Publisher<List<Integer>> createPublisher(final long elements) {
        return
                Flowable.range(1, 1000).toList().toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/ToMapTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 30

                  @Override
    public Publisher<Map<Integer, Integer>> createPublisher(final long elements) {
        return
                Flowable.range(1, 1000).toMap(Functions.<Integer>identity()).toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

Potential violation of Law of Demeter (method chain calls)
Design

Line: 30

                  @Override
    public Publisher<Map<Integer, Integer>> createPublisher(final long elements) {
        return
                Flowable.range(1, 1000).toMap(Functions.<Integer>identity()).toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/ToMultimapTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 30

                  @Override
    public Publisher<Map<Integer, Collection<Integer>>> createPublisher(final long elements) {
        return
                Flowable.range(1, 1000).toMultimap(Functions.<Integer>identity()).toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

Potential violation of Law of Demeter (method chain calls)
Design

Line: 30

                  @Override
    public Publisher<Map<Integer, Collection<Integer>>> createPublisher(final long elements) {
        return
                Flowable.range(1, 1000).toMultimap(Functions.<Integer>identity()).toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/ToSortedListTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 29

                  @Override
    public Publisher<List<Integer>> createPublisher(final long elements) {
        return
                Flowable.range(1, 1000).toSortedList().toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

Potential violation of Law of Demeter (method chain calls)
Design

Line: 29

                  @Override
    public Publisher<List<Integer>> createPublisher(final long elements) {
        return
                Flowable.range(1, 1000).toSortedList().toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

src/main/java/io/reactivex/rxjava3/internal/operators/completable/CompletableFromUnsafeSource.java
2 issues
Found non-transient, non-static member. Please mark as transient or provide accessors.
Error

Line: 20

              
public final class CompletableFromUnsafeSource extends Completable {

    final CompletableSource source;

    public CompletableFromUnsafeSource(CompletableSource source) {
        this.source = source;
    }


            

Reported by PMD.

Avoid unused imports such as 'io.reactivex.rxjava3.core'
Design

Line: 16

              
package io.reactivex.rxjava3.internal.operators.completable;

import io.reactivex.rxjava3.core.*;

public final class CompletableFromUnsafeSource extends Completable {

    final CompletableSource source;


            

Reported by PMD.

src/main/java/io/reactivex/rxjava3/internal/jdk8/FlowableFirstStageSubscriber.java
2 issues
Found non-transient, non-static member. Please mark as transient or provide accessors.
Error

Line: 29

               */
public final class FlowableFirstStageSubscriber<T> extends FlowableStageSubscriber<T> {

    final boolean hasDefault;

    final T defaultItem;

    public FlowableFirstStageSubscriber(boolean hasDefault, T defaultItem) {
        this.hasDefault = hasDefault;

            

Reported by PMD.

Found non-transient, non-static member. Please mark as transient or provide accessors.
Error

Line: 31

              
    final boolean hasDefault;

    final T defaultItem;

    public FlowableFirstStageSubscriber(boolean hasDefault, T defaultItem) {
        this.hasDefault = hasDefault;
        this.defaultItem = defaultItem;
    }

            

Reported by PMD.

src/main/java/io/reactivex/rxjava3/internal/schedulers/ScheduledDirectTask.java
2 issues
Assigning an Object to null is a code smell. Consider refactoring.
Error

Line: 41

                              runnable.run();
            } finally {
                lazySet(FINISHED);
                runner = null;
            }
        } catch (Throwable ex) {
            // Exceptions.throwIfFatal(e); nowhere to go
            RxJavaPlugins.onError(ex);
            throw ex;

            

Reported by PMD.

A catch statement should never catch throwable since it includes errors.
Error

Line: 43

                              lazySet(FINISHED);
                runner = null;
            }
        } catch (Throwable ex) {
            // Exceptions.throwIfFatal(e); nowhere to go
            RxJavaPlugins.onError(ex);
            throw ex;
        }
        return null;

            

Reported by PMD.