The following issues were found

guava/src/com/google/common/base/Enums.java
2 issues
Avoid instantiating new objects inside loops
Performance

Line: 82

                    Class<T> enumClass) {
    Map<String, WeakReference<? extends Enum<?>>> result = new HashMap<>();
    for (T enumInstance : EnumSet.allOf(enumClass)) {
      result.put(enumInstance.name(), new WeakReference<Enum<?>>(enumInstance));
    }
    enumConstantCache.put(enumClass, result);
    return result;
  }


            

Reported by PMD.

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

Line: 115

                private static final class StringConverter<T extends Enum<T>> extends Converter<String, T>
      implements Serializable {

    private final Class<T> enumClass;

    StringConverter(Class<T> enumClass) {
      this.enumClass = checkNotNull(enumClass);
    }


            

Reported by PMD.

guava/src/com/google/common/collect/ReverseOrdering.java
2 issues
This class has too many methods, consider refactoring it.
Design

Line: 31

              @GwtCompatible(serializable = true)
@ElementTypesAreNonnullByDefault
final class ReverseOrdering<T extends @Nullable Object> extends Ordering<T>
    implements Serializable {
  final Ordering<? super T> forwardOrder;

  ReverseOrdering(Ordering<? super T> forwardOrder) {
    this.forwardOrder = checkNotNull(forwardOrder);
  }

            

Reported by PMD.

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

Line: 32

              @ElementTypesAreNonnullByDefault
final class ReverseOrdering<T extends @Nullable Object> extends Ordering<T>
    implements Serializable {
  final Ordering<? super T> forwardOrder;

  ReverseOrdering(Ordering<? super T> forwardOrder) {
    this.forwardOrder = checkNotNull(forwardOrder);
  }


            

Reported by PMD.

guava-tests/test/com/google/common/util/concurrent/ForwardingListeningExecutorServiceTest.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 ForwardingListeningExecutorService} */
public class ForwardingListeningExecutorServiceTest extends TestCase {
  public void testForwarding() {
    ForwardingObjectTester.testForwardingObject(ForwardingListeningExecutorService.class);
  }
}

            

Reported by PMD.

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

Line: 23

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

            

Reported by PMD.

guava-tests/test/com/google/common/util/concurrent/ForwardingListenableFutureTest.java
2 issues
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.

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.

guava/src/com/google/common/collect/RangeGwtSerializationDependencies.java
2 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: 32

               * <p>TODO(cpovirk): Consider applying this subclass approach to our other types.
 */
@GwtCompatible(emulated = true)
abstract class RangeGwtSerializationDependencies<C extends Comparable> implements Serializable {}

            

Reported by PMD.

Classes implementing Serializable should set a serialVersionUID
Error

Line: 32

               * <p>TODO(cpovirk): Consider applying this subclass approach to our other types.
 */
@GwtCompatible(emulated = true)
abstract class RangeGwtSerializationDependencies<C extends Comparable> implements Serializable {}

            

Reported by PMD.

guava/src/com/google/common/primitives/DoublesMethodsForWeb.java
2 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: 25

               */
@GwtCompatible(emulated = true)
@ElementTypesAreNonnullByDefault
abstract class DoublesMethodsForWeb {}

            

Reported by PMD.

This abstract class does not have any abstract methods
Design

Line: 25

               */
@GwtCompatible(emulated = true)
@ElementTypesAreNonnullByDefault
abstract class DoublesMethodsForWeb {}

            

Reported by PMD.

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.

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

Line: 60

              @DoNotMock("Create an AbstractIdleService")
@GwtIncompatible
@ElementTypesAreNonnullByDefault
public interface Service {
  /**
   * If the service state is {@link State#NEW}, this initiates service startup and returns
   * immediately. A stopped service may not be restarted.
   *
   * @return this

            

Reported by PMD.

This abstract class does not have any abstract methods
Design

Line: 242

                 * @author Luke Sandberg
   * @since 15.0 (present as an interface in 13.0)
   */
  abstract class Listener {
    /**
     * Called when the service transitions from {@linkplain State#NEW NEW} to {@linkplain
     * State#STARTING STARTING}. This occurs when {@link Service#startAsync} is called the first
     * time.
     */

            

Reported by PMD.

guava-tests/test/com/google/common/util/concurrent/ForwardingExecutorServiceTest.java
2 issues
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.

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.

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.