The following issues were found

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

Line: 28

              @GwtCompatible
@ElementTypesAreNonnullByDefault
final class Present<T> extends Optional<T> {
  private final T reference;

  Present(T reference) {
    this.reference = reference;
  }


            

Reported by PMD.

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

Line: 31

              @GwtCompatible
@ElementTypesAreNonnullByDefault
final class ConsumingQueueIterator<T extends @Nullable Object> extends AbstractIterator<T> {
  private final Queue<T> queue;

  ConsumingQueueIterator(Queue<T> queue) {
    this.queue = checkNotNull(queue);
  }


            

Reported by PMD.

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

Line: 27

              @ElementTypesAreNonnullByDefault
final class PairwiseEquivalence<E, T extends @Nullable E> extends Equivalence<Iterable<T>>
    implements Serializable {
  final Equivalence<E> elementEquivalence;

  PairwiseEquivalence(Equivalence<E> elementEquivalence) {
    this.elementEquivalence = Preconditions.checkNotNull(elementEquivalence);
  }


            

Reported by PMD.

android/guava/src/com/google/common/util/concurrent/ExecutionError.java
1 issues
Exceptions should not extend java.lang.Error
Design

Line: 32

               */
@GwtCompatible
@ElementTypesAreNonnullByDefault
public class ExecutionError extends Error {
  /*
   * Ideally, this class would have exposed only constructors that require a non-null cause. We
   * might try to move in that direction, but there are complications. See
   * https://github.com/jspecify/nullness-checker-for-checker-framework/blob/61aafa4ae52594830cfc2d61c8b113009dbdb045/src/main/java/com/google/jspecify/nullness/NullSpecTransfer.java#L789
   */

            

Reported by PMD.

android/guava/src/com/google/common/base/Objects.java
1 issues
Use equals() to compare object references.
Error

Line: 54

                 * java.util.Objects#equals} instead.
   */
  public static boolean equal(@CheckForNull Object a, @CheckForNull Object b) {
    return a == b || (a != null && a.equals(b));
  }

  /**
   * Generates a hash code for multiple values. The hash code is generated by calling {@link
   * Arrays#hashCode(Object[])}. Note that array arguments to this method, with the exception of a

            

Reported by PMD.

android/guava-tests/test/com/google/common/util/concurrent/FuturesTransformTest.java
1 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: 56

                  }
  }

  public void testFutureGetThrowsFunctionException() throws Exception {
    inputFuture.set(EXCEPTION_DATA);
    listener.assertException(WRAPPED_EXCEPTION);
  }
}

            

Reported by PMD.

android/guava/src/com/google/common/io/ByteArrayDataInput.java
1 issues
This class has too many methods, consider refactoring it.
Design

Line: 37

               */
@GwtIncompatible
@ElementTypesAreNonnullByDefault
public interface ByteArrayDataInput extends DataInput {
  @Override
  void readFully(byte b[]);

  @Override
  void readFully(byte b[], int off, int len);

            

Reported by PMD.

android/guava/src/com/google/common/util/concurrent/GwtFluentFutureCatchingSpecialization.java
1 issues
No abstract method which means that the keyword is most likely used to prevent instantiation. Use a private or protected constructor instead.
Design

Line: 27

               */
@GwtCompatible(emulated = true)
@ElementTypesAreNonnullByDefault
abstract class GwtFluentFutureCatchingSpecialization<V extends @Nullable Object>
    extends AbstractFuture<V> {
  /*
   * This server copy of the class is empty. The corresponding GWT copy contains alternative
   * versions of catching() and catchingAsync() with slightly different signatures from the ones
   * found in FluentFuture.java.

            

Reported by PMD.

android/guava/src/com/google/common/util/concurrent/Atomics.java
1 issues
Consider using varargs for methods or constructors which take an array the last parameter.
Design

Line: 70

                 * @param array the array to copy elements from
   * @return a new {@code AtomicReferenceArray} copied from the given array
   */
  public static <E extends @Nullable Object> AtomicReferenceArray<E> newReferenceArray(E[] array) {
    return new AtomicReferenceArray<>(array);
  }
}

            

Reported by PMD.

android/guava/src/com/google/common/util/concurrent/AtomicDouble.java
1 issues
This class has too many methods, consider refactoring it.
Design

Line: 53

               * @since 11.0
 */
@ElementTypesAreNonnullByDefault
public class AtomicDouble extends Number implements java.io.Serializable {
  private static final long serialVersionUID = 0L;

  // We would use AtomicLongFieldUpdater, but it has issues on some Android devices.
  private transient AtomicLong value;


            

Reported by PMD.