The following issues were found

android/guava-tests/test/com/google/common/util/concurrent/ForwardingListenableFutureTest.java
2 issues
JUnit 4 tests that execute tests should use the @Test annotation, JUnit 5 tests should use @Test, @RepeatedTest, @TestFactory, @TestTemplate or @ParameterizedTest
Design

Line: 27

               * @author Ben Yu
 */
public class ForwardingListenableFutureTest extends TestCase {
  public void testForwarding() {
    ForwardingObjectTester.testForwardingObject(ForwardingListenableFuture.class);
  }
}

            

Reported by PMD.

JUnit tests should include assert() or fail()
Design

Line: 27

               * @author Ben Yu
 */
public class ForwardingListenableFutureTest extends TestCase {
  public void testForwarding() {
    ForwardingObjectTester.testForwardingObject(ForwardingListenableFuture.class);
  }
}

            

Reported by PMD.

android/guava-tests/test/com/google/common/util/concurrent/ForwardingFutureTest.java
2 issues
JUnit tests should include assert() or fail()
Design

Line: 23

              
/** Unit tests for {@link ForwardingFuture} */
public class ForwardingFutureTest extends TestCase {
  public void testForwarding() {
    ForwardingObjectTester.testForwardingObject(ForwardingFuture.class);
  }
}

            

Reported by PMD.

JUnit 4 tests that execute tests should use the @Test annotation, JUnit 5 tests should use @Test, @RepeatedTest, @TestFactory, @TestTemplate or @ParameterizedTest
Design

Line: 23

              
/** Unit tests for {@link ForwardingFuture} */
public class ForwardingFutureTest extends TestCase {
  public void testForwarding() {
    ForwardingObjectTester.testForwardingObject(ForwardingFuture.class);
  }
}

            

Reported by PMD.

android/guava-tests/test/com/google/common/util/concurrent/ForwardingExecutorServiceTest.java
2 issues
JUnit 4 tests that execute tests should use the @Test annotation, JUnit 5 tests should use @Test, @RepeatedTest, @TestFactory, @TestTemplate or @ParameterizedTest
Design

Line: 23

              
/** Unit tests for {@link ForwardingExecutorService} */
public class ForwardingExecutorServiceTest extends TestCase {
  public void testForwarding() {
    ForwardingObjectTester.testForwardingObject(ForwardingExecutorService.class);
  }
}

            

Reported by PMD.

JUnit tests should include assert() or fail()
Design

Line: 23

              
/** Unit tests for {@link ForwardingExecutorService} */
public class ForwardingExecutorServiceTest extends TestCase {
  public void testForwarding() {
    ForwardingObjectTester.testForwardingObject(ForwardingExecutorService.class);
  }
}

            

Reported by PMD.

android/guava-tests/test/com/google/common/util/concurrent/ForwardingBlockingQueueTest.java
2 issues
JUnit tests should include assert() or fail()
Design

Line: 23

              
/** Unit tests for {@link ForwardingBlockingQueue} */
public class ForwardingBlockingQueueTest extends TestCase {
  public void testForwarding() {
    ForwardingObjectTester.testForwardingObject(ForwardingBlockingQueue.class);
  }
}

            

Reported by PMD.

JUnit 4 tests that execute tests should use the @Test annotation, JUnit 5 tests should use @Test, @RepeatedTest, @TestFactory, @TestTemplate or @ParameterizedTest
Design

Line: 23

              
/** Unit tests for {@link ForwardingBlockingQueue} */
public class ForwardingBlockingQueueTest extends TestCase {
  public void testForwarding() {
    ForwardingObjectTester.testForwardingObject(ForwardingBlockingQueue.class);
  }
}

            

Reported by PMD.

android/guava-tests/test/com/google/common/util/concurrent/ForwardingBlockingDequeTest.java
2 issues
JUnit tests should include assert() or fail()
Design

Line: 28

               */
public class ForwardingBlockingDequeTest extends TestCase {

  public void testForwarding() {
    ForwardingObjectTester.testForwardingObject(ForwardingBlockingDeque.class);
  }
}

            

Reported by PMD.

JUnit 4 tests that execute tests should use the @Test annotation, JUnit 5 tests should use @Test, @RepeatedTest, @TestFactory, @TestTemplate or @ParameterizedTest
Design

Line: 28

               */
public class ForwardingBlockingDequeTest extends TestCase {

  public void testForwarding() {
    ForwardingObjectTester.testForwardingObject(ForwardingBlockingDeque.class);
  }
}

            

Reported by PMD.

android/guava/src/com/google/common/collect/ByFunctionOrdering.java
2 issues
Found non-transient, non-static member. Please mark as transient or provide accessors.
Error

Line: 36

              @ElementTypesAreNonnullByDefault
final class ByFunctionOrdering<F extends @Nullable Object, T extends @Nullable Object>
    extends Ordering<F> implements Serializable {
  final Function<F, ? extends T> function;
  final Ordering<T> ordering;

  ByFunctionOrdering(Function<F, ? extends T> function, Ordering<T> ordering) {
    this.function = checkNotNull(function);
    this.ordering = checkNotNull(ordering);

            

Reported by PMD.

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

Line: 37

              final class ByFunctionOrdering<F extends @Nullable Object, T extends @Nullable Object>
    extends Ordering<F> implements Serializable {
  final Function<F, ? extends T> function;
  final Ordering<T> ordering;

  ByFunctionOrdering(Function<F, ? extends T> function, Ordering<T> ordering) {
    this.function = checkNotNull(function);
    this.ordering = checkNotNull(ordering);
  }

            

Reported by PMD.

android/guava-tests/test/com/google/common/math/TestPlatform.java
2 issues
All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
Design

Line: 23

              
/** @author Chris Povirk */
@GwtCompatible(emulated = true)
class TestPlatform {
  static boolean intsCanGoOutOfRange() {
    return false;
  }

  static boolean isAndroid() {

            

Reported by PMD.

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

Line: 29

                }

  static boolean isAndroid() {
    return System.getProperty("java.runtime.name").contains("Android");
  }
}

            

Reported by PMD.

android/guava/src/com/google/common/collect/ArrayListMultimap.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 148

                 */
  @Deprecated
  public void trimToSize() {
    for (Collection<V> collection : backingMap().values()) {
      ArrayList<V> arrayList = (ArrayList<V>) collection;
      arrayList.trimToSize();
    }
  }


            

Reported by PMD.

Potential violation of Law of Demeter (object not created locally)
Design

Line: 150

                public void trimToSize() {
    for (Collection<V> collection : backingMap().values()) {
      ArrayList<V> arrayList = (ArrayList<V>) collection;
      arrayList.trimToSize();
    }
  }

  /**
   * @serialData expectedValuesPerKey, number of distinct keys, and then for each distinct key: the

            

Reported by PMD.

android/guava/src/com/google/common/collect/AbstractSortedSetMultimap.java
2 issues
Overriding method merely calls super
Design

Line: 135

                 * SortedSet} values.
   */
  @Override
  public Map<K, Collection<V>> asMap() {
    return super.asMap();
  }

  /**
   * {@inheritDoc}

            

Reported by PMD.

Overriding method merely calls super
Design

Line: 146

                 * comparator.
   */
  @Override
  public Collection<V> values() {
    return super.values();
  }

  private static final long serialVersionUID = 430848587173315748L;
}

            

Reported by PMD.

android/guava/src/com/google/common/collect/AbstractIndexedListIterator.java
2 issues
Found non-transient, non-static member. Please mark as transient or provide accessors.
Error

Line: 37

              @ElementTypesAreNonnullByDefault
abstract class AbstractIndexedListIterator<E extends @Nullable Object>
    extends UnmodifiableListIterator<E> {
  private final int size;
  private int position;

  /** Returns the element with the specified index. This method is called by {@link #next()}. */
  @ParametricNullness
  protected abstract E get(int index);

            

Reported by PMD.

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

Line: 38

              abstract class AbstractIndexedListIterator<E extends @Nullable Object>
    extends UnmodifiableListIterator<E> {
  private final int size;
  private int position;

  /** Returns the element with the specified index. This method is called by {@link #next()}. */
  @ParametricNullness
  protected abstract E get(int index);


            

Reported by PMD.