diff --git a/android/guava-testlib/src/com/google/common/testing/GcFinalization.java b/android/guava-testlib/src/com/google/common/testing/GcFinalization.java
index 92394f17670a..015afea54809 100644
--- a/android/guava-testlib/src/com/google/common/testing/GcFinalization.java
+++ b/android/guava-testlib/src/com/google/common/testing/GcFinalization.java
@@ -20,6 +20,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtIncompatible;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.j2objc.annotations.J2ObjCIncompatible;
import java.lang.ref.WeakReference;
import java.util.Locale;
@@ -241,6 +242,7 @@ protected void finalize() {
*
enqueuing weak references to unreachable referents in their reference queue
*
*/
+ @DoNotMock("Implement with a lambda")
public interface FinalizationPredicate {
boolean isDone();
}
diff --git a/android/guava-testlib/src/com/google/common/testing/TearDownAccepter.java b/android/guava-testlib/src/com/google/common/testing/TearDownAccepter.java
index a1d1f00be938..bad1f1997867 100644
--- a/android/guava-testlib/src/com/google/common/testing/TearDownAccepter.java
+++ b/android/guava-testlib/src/com/google/common/testing/TearDownAccepter.java
@@ -17,6 +17,7 @@
package com.google.common.testing;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.common.annotations.GwtCompatible;
/**
@@ -26,6 +27,7 @@
* @since 10.0
*/
@Beta
+@DoNotMock("Implement with a lambda")
@GwtCompatible
public interface TearDownAccepter {
/**
diff --git a/android/guava/src/com/google/common/base/FinalizableReference.java b/android/guava/src/com/google/common/base/FinalizableReference.java
index f7e5cf885115..848e7ee586d2 100644
--- a/android/guava/src/com/google/common/base/FinalizableReference.java
+++ b/android/guava/src/com/google/common/base/FinalizableReference.java
@@ -15,6 +15,7 @@
package com.google.common.base;
import com.google.common.annotations.GwtIncompatible;
+import com.google.errorprone.annotations.DoNotMock;
/**
* Implemented by references that have code to run after garbage collection of their referents.
@@ -23,6 +24,7 @@
* @author Bob Lee
* @since 2.0
*/
+@DoNotMock("Use an instance of one of the Finalizable*Reference classes")
@GwtIncompatible
public interface FinalizableReference {
/**
diff --git a/android/guava/src/com/google/common/base/Optional.java b/android/guava/src/com/google/common/base/Optional.java
index 32f2656adbc1..611ba54942b0 100644
--- a/android/guava/src/com/google/common/base/Optional.java
+++ b/android/guava/src/com/google/common/base/Optional.java
@@ -18,6 +18,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtCompatible;
+import com.google.errorprone.annotations.DoNotMock;
import java.io.Serializable;
import java.util.Iterator;
import java.util.Set;
@@ -79,6 +80,7 @@
* @author Kevin Bourrillion
* @since 10.0
*/
+@DoNotMock("Use Optional.of(value) or Optional.absent()")
@GwtCompatible(serializable = true)
public abstract class Optional implements Serializable {
/**
diff --git a/android/guava/src/com/google/common/cache/Cache.java b/android/guava/src/com/google/common/cache/Cache.java
index 02922f15437d..69bd752e6f6d 100644
--- a/android/guava/src/com/google/common/cache/Cache.java
+++ b/android/guava/src/com/google/common/cache/Cache.java
@@ -19,6 +19,7 @@
import com.google.common.util.concurrent.ExecutionError;
import com.google.common.util.concurrent.UncheckedExecutionException;
import com.google.errorprone.annotations.CompatibleWith;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Map;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentMap;
@@ -36,6 +37,7 @@
* @author Charles Fry
* @since 10.0
*/
+@DoNotMock("Use CacheBuilder.newBuilder().build()")
@GwtCompatible
public interface Cache {
diff --git a/android/guava/src/com/google/common/collect/ClassToInstanceMap.java b/android/guava/src/com/google/common/collect/ClassToInstanceMap.java
index 4c26253d86de..8d454c0c6869 100644
--- a/android/guava/src/com/google/common/collect/ClassToInstanceMap.java
+++ b/android/guava/src/com/google/common/collect/ClassToInstanceMap.java
@@ -18,6 +18,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Map;
import org.checkerframework.checker.nullness.compatqual.NullableDecl;
@@ -40,6 +41,7 @@
* @author Kevin Bourrillion
* @since 2.0
*/
+@DoNotMock("Use ImmutableClassToInstanceMap or MutableClassToInstanceMap")
@GwtCompatible
public interface ClassToInstanceMap extends Map, B> {
/**
diff --git a/android/guava/src/com/google/common/collect/ImmutableCollection.java b/android/guava/src/com/google/common/collect/ImmutableCollection.java
index dfce111eb910..62701677af15 100644
--- a/android/guava/src/com/google/common/collect/ImmutableCollection.java
+++ b/android/guava/src/com/google/common/collect/ImmutableCollection.java
@@ -22,6 +22,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.io.Serializable;
import java.util.AbstractCollection;
import java.util.Arrays;
@@ -157,6 +158,7 @@
*
* @since 2.0
*/
+@DoNotMock("Use ImmutableList.of or another implementation")
@GwtCompatible(emulated = true)
@SuppressWarnings("serial") // we're overriding default serialization
// TODO(kevinb): I think we should push everything down to "BaseImmutableCollection" or something,
@@ -340,6 +342,7 @@ Object writeReplace() {
*
* @since 10.0
*/
+ @DoNotMock
public abstract static class Builder {
static final int DEFAULT_INITIAL_CAPACITY = 4;
diff --git a/android/guava/src/com/google/common/collect/ImmutableMap.java b/android/guava/src/com/google/common/collect/ImmutableMap.java
index 1534b270aba7..cb944f28151f 100644
--- a/android/guava/src/com/google/common/collect/ImmutableMap.java
+++ b/android/guava/src/com/google/common/collect/ImmutableMap.java
@@ -24,6 +24,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtCompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.errorprone.annotations.concurrent.LazyInit;
import com.google.j2objc.annotations.RetainedWith;
import com.google.j2objc.annotations.WeakOuter;
@@ -51,6 +52,7 @@
* @author Kevin Bourrillion
* @since 2.0
*/
+@DoNotMock("Use ImmutableMap.of or another implementation")
@GwtCompatible(serializable = true, emulated = true)
@SuppressWarnings("serial") // we're overriding default serialization
public abstract class ImmutableMap implements Map, Serializable {
@@ -208,6 +210,7 @@ static IllegalArgumentException conflictException(
*
* @since 2.0
*/
+ @DoNotMock
public static class Builder {
@MonotonicNonNullDecl Comparator super V> valueComparator;
Object[] alternatingKeysAndValues;
diff --git a/android/guava/src/com/google/common/collect/ImmutableMultimap.java b/android/guava/src/com/google/common/collect/ImmutableMultimap.java
index 138cb4b788c9..077dfb97c7b1 100644
--- a/android/guava/src/com/google/common/collect/ImmutableMultimap.java
+++ b/android/guava/src/com/google/common/collect/ImmutableMultimap.java
@@ -23,6 +23,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.common.annotations.GwtIncompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.j2objc.annotations.Weak;
import com.google.j2objc.annotations.WeakOuter;
import java.io.Serializable;
@@ -136,6 +137,7 @@ public static Builder builder() {
*
* @since 2.0
*/
+ @DoNotMock
public static class Builder {
Map> builderMap;
@MonotonicNonNullDecl Comparator super K> keyComparator;
diff --git a/android/guava/src/com/google/common/collect/ImmutableRangeMap.java b/android/guava/src/com/google/common/collect/ImmutableRangeMap.java
index b6fb87598660..aa0495c6df2b 100644
--- a/android/guava/src/com/google/common/collect/ImmutableRangeMap.java
+++ b/android/guava/src/com/google/common/collect/ImmutableRangeMap.java
@@ -23,6 +23,7 @@
import com.google.common.collect.SortedLists.KeyAbsentBehavior;
import com.google.common.collect.SortedLists.KeyPresentBehavior;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;
@@ -82,6 +83,7 @@ public static , V> Builder builder() {
*
* @since 14.0
*/
+ @DoNotMock
public static final class Builder, V> {
private final List, V>> entries;
diff --git a/android/guava/src/com/google/common/collect/ImmutableTable.java b/android/guava/src/com/google/common/collect/ImmutableTable.java
index 0e32ad8e2a07..7b7daab1a33a 100644
--- a/android/guava/src/com/google/common/collect/ImmutableTable.java
+++ b/android/guava/src/com/google/common/collect/ImmutableTable.java
@@ -21,6 +21,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.common.base.MoreObjects;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.io.Serializable;
import java.util.Comparator;
import java.util.Iterator;
@@ -131,6 +132,7 @@ static Cell cellOf(R rowKey, C columnKey, V value) {
*
* @since 11.0
*/
+ @DoNotMock
public static final class Builder {
private final List> cells = Lists.newArrayList();
@MonotonicNonNullDecl private Comparator super R> rowComparator;
diff --git a/android/guava/src/com/google/common/collect/Interner.java b/android/guava/src/com/google/common/collect/Interner.java
index 0a06bfc1c37f..10d395d5024b 100644
--- a/android/guava/src/com/google/common/collect/Interner.java
+++ b/android/guava/src/com/google/common/collect/Interner.java
@@ -19,6 +19,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtIncompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
/**
* Provides equivalent behavior to {@link String#intern} for other immutable types. Common
@@ -28,6 +29,7 @@
* @since 3.0
*/
@Beta
+@DoNotMock("Use Interners.new*Interner")
@GwtIncompatible
public interface Interner {
/**
diff --git a/android/guava/src/com/google/common/collect/MapDifference.java b/android/guava/src/com/google/common/collect/MapDifference.java
index eda9cc9a7dc8..9933770cb4e4 100644
--- a/android/guava/src/com/google/common/collect/MapDifference.java
+++ b/android/guava/src/com/google/common/collect/MapDifference.java
@@ -17,6 +17,7 @@
package com.google.common.collect;
import com.google.common.annotations.GwtCompatible;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Map;
import org.checkerframework.checker.nullness.compatqual.NullableDecl;
@@ -26,6 +27,7 @@
* @author Kevin Bourrillion
* @since 2.0
*/
+@DoNotMock("Use Maps.difference")
@GwtCompatible
public interface MapDifference {
/**
@@ -84,6 +86,7 @@ public interface MapDifference {
*
* @since 2.0
*/
+ @DoNotMock("Use Maps.difference")
interface ValueDifference {
/** Returns the value from the left map (possibly null). */
V leftValue();
diff --git a/android/guava/src/com/google/common/collect/Multimap.java b/android/guava/src/com/google/common/collect/Multimap.java
index c91922abdd15..cdfa0f6906dd 100644
--- a/android/guava/src/com/google/common/collect/Multimap.java
+++ b/android/guava/src/com/google/common/collect/Multimap.java
@@ -19,6 +19,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import com.google.errorprone.annotations.CompatibleWith;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -155,6 +156,7 @@
* @author Jared Levy
* @since 2.0
*/
+@DoNotMock("Use ImmutableMultimap, HashMultimap, or another implementation")
@GwtCompatible
public interface Multimap {
// Query Operations
diff --git a/android/guava/src/com/google/common/collect/PeekingIterator.java b/android/guava/src/com/google/common/collect/PeekingIterator.java
index bcb84a054c7e..5a6c60b2bec4 100644
--- a/android/guava/src/com/google/common/collect/PeekingIterator.java
+++ b/android/guava/src/com/google/common/collect/PeekingIterator.java
@@ -18,6 +18,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Iterator;
import java.util.NoSuchElementException;
@@ -31,6 +32,7 @@
* @author Mick Killianey
* @since 2.0
*/
+@DoNotMock("Use Iterators.peekingIterator")
@GwtCompatible
public interface PeekingIterator extends Iterator {
/**
diff --git a/android/guava/src/com/google/common/collect/RangeMap.java b/android/guava/src/com/google/common/collect/RangeMap.java
index d1e5c31076be..e6c902e9c9b4 100644
--- a/android/guava/src/com/google/common/collect/RangeMap.java
+++ b/android/guava/src/com/google/common/collect/RangeMap.java
@@ -18,6 +18,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtIncompatible;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Collection;
import java.util.Map;
import java.util.Map.Entry;
@@ -35,6 +36,7 @@
* @since 14.0
*/
@Beta
+@DoNotMock("Use ImmutableRangeMap or TreeRangeMap")
@GwtIncompatible
public interface RangeMap {
/**
diff --git a/android/guava/src/com/google/common/collect/RangeSet.java b/android/guava/src/com/google/common/collect/RangeSet.java
index 19076a9ade83..06c149cc1b59 100644
--- a/android/guava/src/com/google/common/collect/RangeSet.java
+++ b/android/guava/src/com/google/common/collect/RangeSet.java
@@ -16,6 +16,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtIncompatible;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.NoSuchElementException;
import java.util.Set;
import org.checkerframework.checker.nullness.compatqual.NullableDecl;
@@ -49,6 +50,7 @@
* @since 14.0
*/
@Beta
+@DoNotMock("Use ImmutableRangeSet or TreeRangeSet")
@GwtIncompatible
public interface RangeSet {
diff --git a/android/guava/src/com/google/common/collect/Table.java b/android/guava/src/com/google/common/collect/Table.java
index 3da7c46e6112..69c00e36f236 100644
--- a/android/guava/src/com/google/common/collect/Table.java
+++ b/android/guava/src/com/google/common/collect/Table.java
@@ -20,6 +20,7 @@
import com.google.common.base.Objects;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import com.google.errorprone.annotations.CompatibleWith;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Collection;
import java.util.Map;
import java.util.Set;
@@ -52,6 +53,7 @@
* @param the type of the mapped values
* @since 7.0
*/
+@DoNotMock("Use ImmutableTable, HashBasedTable, or another implementation")
@GwtCompatible
public interface Table {
// TODO(jlevy): Consider adding methods similar to ConcurrentMap methods.
diff --git a/android/guava/src/com/google/common/escape/Escaper.java b/android/guava/src/com/google/common/escape/Escaper.java
index 97abc7539d39..0d32a09a1e18 100644
--- a/android/guava/src/com/google/common/escape/Escaper.java
+++ b/android/guava/src/com/google/common/escape/Escaper.java
@@ -16,6 +16,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.common.base.Function;
+import com.google.errorprone.annotations.DoNotMock;
/**
* An object that converts literal text into a format safe for inclusion in a particular context
@@ -53,6 +54,7 @@
* @author David Beaumont
* @since 15.0
*/
+@DoNotMock("Use Escapers.nullEscaper() or another methods from the *Escapers classes")
@GwtCompatible
public abstract class Escaper {
// TODO(dbeaumont): evaluate custom implementations, considering package private constructor.
diff --git a/android/guava/src/com/google/common/graph/Graph.java b/android/guava/src/com/google/common/graph/Graph.java
index c5abc8ec1c0b..6979cbc48ff7 100644
--- a/android/guava/src/com/google/common/graph/Graph.java
+++ b/android/guava/src/com/google/common/graph/Graph.java
@@ -17,6 +17,7 @@
package com.google.common.graph;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Collection;
import java.util.Set;
import org.checkerframework.checker.nullness.compatqual.NullableDecl;
@@ -101,6 +102,7 @@
* @since 20.0
*/
@Beta
+@DoNotMock("Use GraphBuilder to create a real instance")
public interface Graph extends BaseGraph {
//
// Graph-level accessors
diff --git a/android/guava/src/com/google/common/graph/GraphBuilder.java b/android/guava/src/com/google/common/graph/GraphBuilder.java
index dca26807daf4..5b15e5ca021b 100644
--- a/android/guava/src/com/google/common/graph/GraphBuilder.java
+++ b/android/guava/src/com/google/common/graph/GraphBuilder.java
@@ -22,6 +22,7 @@
import com.google.common.annotations.Beta;
import com.google.common.base.Optional;
+import com.google.errorprone.annotations.DoNotMock;
/**
* A builder for constructing instances of {@link MutableGraph} or {@link ImmutableGraph} with
@@ -62,6 +63,7 @@
* @since 20.0
*/
@Beta
+@DoNotMock
public final class GraphBuilder extends AbstractGraphBuilder {
/** Creates a new instance with the specified edge directionality. */
diff --git a/android/guava/src/com/google/common/graph/Network.java b/android/guava/src/com/google/common/graph/Network.java
index c92fe70ae4d8..a7c90865b1c6 100644
--- a/android/guava/src/com/google/common/graph/Network.java
+++ b/android/guava/src/com/google/common/graph/Network.java
@@ -17,6 +17,7 @@
package com.google.common.graph;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Set;
import org.checkerframework.checker.nullness.compatqual.NullableDecl;
@@ -101,6 +102,7 @@
* @since 20.0
*/
@Beta
+@DoNotMock("Use NetworkBuilder to create a real instance")
public interface Network extends SuccessorsFunction, PredecessorsFunction {
//
// Network-level accessors
diff --git a/android/guava/src/com/google/common/graph/PredecessorsFunction.java b/android/guava/src/com/google/common/graph/PredecessorsFunction.java
index b8f7ea5ebaa2..f9ca48ae77b9 100644
--- a/android/guava/src/com/google/common/graph/PredecessorsFunction.java
+++ b/android/guava/src/com/google/common/graph/PredecessorsFunction.java
@@ -17,6 +17,7 @@
package com.google.common.graph;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
/**
* A functional interface for {
/**
diff --git a/android/guava/src/com/google/common/graph/SuccessorsFunction.java b/android/guava/src/com/google/common/graph/SuccessorsFunction.java
index ed60a5d93007..f74f437c2937 100644
--- a/android/guava/src/com/google/common/graph/SuccessorsFunction.java
+++ b/android/guava/src/com/google/common/graph/SuccessorsFunction.java
@@ -17,6 +17,7 @@
package com.google.common.graph;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
/**
* A functional interface for {
/**
diff --git a/android/guava/src/com/google/common/hash/Funnel.java b/android/guava/src/com/google/common/hash/Funnel.java
index 077ef7ac0123..2c6a7b9820f5 100644
--- a/android/guava/src/com/google/common/hash/Funnel.java
+++ b/android/guava/src/com/google/common/hash/Funnel.java
@@ -15,6 +15,7 @@
package com.google.common.hash;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
import java.io.Serializable;
/**
@@ -41,6 +42,7 @@
* @since 11.0
*/
@Beta
+@DoNotMock("Implement with a lambda")
public interface Funnel extends Serializable {
/**
diff --git a/android/guava/src/com/google/common/hash/HashFunction.java b/android/guava/src/com/google/common/hash/HashFunction.java
index 78842595f692..f08d95b47b8c 100644
--- a/android/guava/src/com/google/common/hash/HashFunction.java
+++ b/android/guava/src/com/google/common/hash/HashFunction.java
@@ -16,6 +16,7 @@
import com.google.common.annotations.Beta;
import com.google.common.primitives.Ints;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.errorprone.annotations.Immutable;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
@@ -116,6 +117,7 @@
* @since 11.0
*/
@Beta
+@DoNotMock("Use a real instance from Hashing")
@Immutable
public interface HashFunction {
/**
diff --git a/android/guava/src/com/google/common/io/ByteProcessor.java b/android/guava/src/com/google/common/io/ByteProcessor.java
index 23f0e3ef810c..115c73571555 100644
--- a/android/guava/src/com/google/common/io/ByteProcessor.java
+++ b/android/guava/src/com/google/common/io/ByteProcessor.java
@@ -17,6 +17,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtIncompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.io.IOException;
/**
@@ -29,6 +30,7 @@
* @since 1.0
*/
@Beta
+@DoNotMock("Implement it normally")
@GwtIncompatible
public interface ByteProcessor {
/**
diff --git a/android/guava/src/com/google/common/reflect/TypeToInstanceMap.java b/android/guava/src/com/google/common/reflect/TypeToInstanceMap.java
index 7dc0ffd742d4..80396bc7893f 100644
--- a/android/guava/src/com/google/common/reflect/TypeToInstanceMap.java
+++ b/android/guava/src/com/google/common/reflect/TypeToInstanceMap.java
@@ -16,6 +16,7 @@
import com.google.common.annotations.Beta;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Map;
import org.checkerframework.checker.nullness.compatqual.NullableDecl;
@@ -39,6 +40,7 @@
* @since 13.0
*/
@Beta
+@DoNotMock("Use ImmutableTypeToInstanceMap or MutableTypeToInstanceMap")
public interface TypeToInstanceMap extends Map, B> {
/**
diff --git a/android/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java b/android/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java
index e684d71caa65..469eb6757a09 100644
--- a/android/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java
+++ b/android/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java
@@ -15,6 +15,7 @@
package com.google.common.util.concurrent;
import com.google.common.annotations.GwtIncompatible;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.Callable;
@@ -31,6 +32,9 @@
* @author Chris Povirk
* @since 10.0
*/
+@DoNotMock(
+ "Use TestingExecutors.sameThreadScheduledExecutor, or wrap a real Executor from "
+ + "java.util.concurrent.Executors with MoreExecutors.listeningDecorator")
@GwtIncompatible
public interface ListeningExecutorService extends ExecutorService {
/**
diff --git a/android/guava/src/com/google/common/util/concurrent/Service.java b/android/guava/src/com/google/common/util/concurrent/Service.java
index 40dbd56f6662..9cfb617b306a 100644
--- a/android/guava/src/com/google/common/util/concurrent/Service.java
+++ b/android/guava/src/com/google/common/util/concurrent/Service.java
@@ -15,6 +15,7 @@
package com.google.common.util.concurrent;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.common.annotations.GwtIncompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import java.util.concurrent.Executor;
@@ -52,6 +53,7 @@
* @since 9.0 (in 1.0 as {@code com.google.common.base.Service})
*/
@Beta
+@DoNotMock("Create an AbstractIdleService")
@GwtIncompatible
public interface Service {
/**
diff --git a/android/guava/src/com/google/common/util/concurrent/TimeLimiter.java b/android/guava/src/com/google/common/util/concurrent/TimeLimiter.java
index 1c0d9c7c29d7..b841517bc3ff 100644
--- a/android/guava/src/com/google/common/util/concurrent/TimeLimiter.java
+++ b/android/guava/src/com/google/common/util/concurrent/TimeLimiter.java
@@ -17,6 +17,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtIncompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
@@ -30,6 +31,7 @@
* @since 1.0
*/
@Beta
+@DoNotMock("Use FakeTimeLimiter")
@GwtIncompatible
@SuppressWarnings("GoodTime") // should have java.time.Duration overloads
public interface TimeLimiter {
diff --git a/android/pom.xml b/android/pom.xml
index 19e7e7920e85..f77abe63434c 100644
--- a/android/pom.xml
+++ b/android/pom.xml
@@ -256,7 +256,7 @@
com.google.errorprone
error_prone_annotations
- 2.3.3
+ 2.3.4
com.google.j2objc
diff --git a/guava-testlib/src/com/google/common/testing/GcFinalization.java b/guava-testlib/src/com/google/common/testing/GcFinalization.java
index 92394f17670a..015afea54809 100644
--- a/guava-testlib/src/com/google/common/testing/GcFinalization.java
+++ b/guava-testlib/src/com/google/common/testing/GcFinalization.java
@@ -20,6 +20,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtIncompatible;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.j2objc.annotations.J2ObjCIncompatible;
import java.lang.ref.WeakReference;
import java.util.Locale;
@@ -241,6 +242,7 @@ protected void finalize() {
* enqueuing weak references to unreachable referents in their reference queue
*
*/
+ @DoNotMock("Implement with a lambda")
public interface FinalizationPredicate {
boolean isDone();
}
diff --git a/guava-testlib/src/com/google/common/testing/TearDownAccepter.java b/guava-testlib/src/com/google/common/testing/TearDownAccepter.java
index a1d1f00be938..bad1f1997867 100644
--- a/guava-testlib/src/com/google/common/testing/TearDownAccepter.java
+++ b/guava-testlib/src/com/google/common/testing/TearDownAccepter.java
@@ -17,6 +17,7 @@
package com.google.common.testing;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.common.annotations.GwtCompatible;
/**
@@ -26,6 +27,7 @@
* @since 10.0
*/
@Beta
+@DoNotMock("Implement with a lambda")
@GwtCompatible
public interface TearDownAccepter {
/**
diff --git a/guava/src/com/google/common/base/FinalizableReference.java b/guava/src/com/google/common/base/FinalizableReference.java
index f7e5cf885115..848e7ee586d2 100644
--- a/guava/src/com/google/common/base/FinalizableReference.java
+++ b/guava/src/com/google/common/base/FinalizableReference.java
@@ -15,6 +15,7 @@
package com.google.common.base;
import com.google.common.annotations.GwtIncompatible;
+import com.google.errorprone.annotations.DoNotMock;
/**
* Implemented by references that have code to run after garbage collection of their referents.
@@ -23,6 +24,7 @@
* @author Bob Lee
* @since 2.0
*/
+@DoNotMock("Use an instance of one of the Finalizable*Reference classes")
@GwtIncompatible
public interface FinalizableReference {
/**
diff --git a/guava/src/com/google/common/base/Optional.java b/guava/src/com/google/common/base/Optional.java
index 64d49d8dc6e4..51966f602139 100644
--- a/guava/src/com/google/common/base/Optional.java
+++ b/guava/src/com/google/common/base/Optional.java
@@ -15,6 +15,7 @@
package com.google.common.base;
import static com.google.common.base.Preconditions.checkNotNull;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtCompatible;
@@ -79,6 +80,7 @@
* @author Kevin Bourrillion
* @since 10.0
*/
+@DoNotMock("Use Optional.of(value) or Optional.absent()")
@GwtCompatible(serializable = true)
public abstract class Optional implements Serializable {
/**
diff --git a/guava/src/com/google/common/cache/Cache.java b/guava/src/com/google/common/cache/Cache.java
index af662a9d58b2..4bcb30846bb8 100644
--- a/guava/src/com/google/common/cache/Cache.java
+++ b/guava/src/com/google/common/cache/Cache.java
@@ -19,6 +19,7 @@
import com.google.common.util.concurrent.ExecutionError;
import com.google.common.util.concurrent.UncheckedExecutionException;
import com.google.errorprone.annotations.CompatibleWith;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Map;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentMap;
@@ -36,6 +37,7 @@
* @author Charles Fry
* @since 10.0
*/
+@DoNotMock("Use CacheBuilder.newBuilder().build()")
@GwtCompatible
public interface Cache {
diff --git a/guava/src/com/google/common/collect/ClassToInstanceMap.java b/guava/src/com/google/common/collect/ClassToInstanceMap.java
index 1b6a5ddef11a..a173556b150c 100644
--- a/guava/src/com/google/common/collect/ClassToInstanceMap.java
+++ b/guava/src/com/google/common/collect/ClassToInstanceMap.java
@@ -18,6 +18,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Map;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -40,6 +41,7 @@
* @author Kevin Bourrillion
* @since 2.0
*/
+@DoNotMock("Use ImmutableClassToInstanceMap or MutableClassToInstanceMap")
@GwtCompatible
public interface ClassToInstanceMap extends Map, B> {
/**
diff --git a/guava/src/com/google/common/collect/ImmutableCollection.java b/guava/src/com/google/common/collect/ImmutableCollection.java
index 92ba73ee1350..125639a06922 100644
--- a/guava/src/com/google/common/collect/ImmutableCollection.java
+++ b/guava/src/com/google/common/collect/ImmutableCollection.java
@@ -20,6 +20,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.io.Serializable;
import java.util.AbstractCollection;
import java.util.Collection;
@@ -157,6 +158,7 @@
*
* @since 2.0
*/
+@DoNotMock("Use ImmutableList.of or another implementation")
@GwtCompatible(emulated = true)
@SuppressWarnings("serial") // we're overriding default serialization
// TODO(kevinb): I think we should push everything down to "BaseImmutableCollection" or something,
@@ -372,6 +374,7 @@ Object writeReplace() {
*
* @since 10.0
*/
+ @DoNotMock
public abstract static class Builder {
static final int DEFAULT_INITIAL_CAPACITY = 4;
diff --git a/guava/src/com/google/common/collect/ImmutableMap.java b/guava/src/com/google/common/collect/ImmutableMap.java
index e75ea933bf46..0b3d72bcf527 100644
--- a/guava/src/com/google/common/collect/ImmutableMap.java
+++ b/guava/src/com/google/common/collect/ImmutableMap.java
@@ -25,6 +25,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.common.annotations.VisibleForTesting;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.errorprone.annotations.concurrent.LazyInit;
import com.google.j2objc.annotations.RetainedWith;
import com.google.j2objc.annotations.WeakOuter;
@@ -60,6 +61,7 @@
* @author Kevin Bourrillion
* @since 2.0
*/
+@DoNotMock("Use ImmutableMap.of or another implementation")
@GwtCompatible(serializable = true, emulated = true)
@SuppressWarnings("serial") // we're overriding default serialization
public abstract class ImmutableMap implements Map, Serializable {
@@ -244,6 +246,7 @@ static IllegalArgumentException conflictException(
*
* @since 2.0
*/
+ @DoNotMock
public static class Builder {
@MonotonicNonNull Comparator super V> valueComparator;
Entry[] entries;
diff --git a/guava/src/com/google/common/collect/ImmutableMultimap.java b/guava/src/com/google/common/collect/ImmutableMultimap.java
index 70b791fd24e9..358ef9302bf1 100644
--- a/guava/src/com/google/common/collect/ImmutableMultimap.java
+++ b/guava/src/com/google/common/collect/ImmutableMultimap.java
@@ -23,6 +23,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.common.annotations.GwtIncompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.j2objc.annotations.Weak;
import com.google.j2objc.annotations.WeakOuter;
import java.io.Serializable;
@@ -138,6 +139,7 @@ public static Builder builder() {
*
* @since 2.0
*/
+ @DoNotMock
public static class Builder {
Map> builderMap;
@MonotonicNonNull Comparator super K> keyComparator;
diff --git a/guava/src/com/google/common/collect/ImmutableRangeMap.java b/guava/src/com/google/common/collect/ImmutableRangeMap.java
index 983da60c9a0c..f164701ae2e8 100644
--- a/guava/src/com/google/common/collect/ImmutableRangeMap.java
+++ b/guava/src/com/google/common/collect/ImmutableRangeMap.java
@@ -23,6 +23,7 @@
import com.google.common.collect.SortedLists.KeyAbsentBehavior;
import com.google.common.collect.SortedLists.KeyPresentBehavior;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;
@@ -98,6 +99,7 @@ public static , V> Builder builder() {
*
* @since 14.0
*/
+ @DoNotMock
public static final class Builder, V> {
private final List, V>> entries;
diff --git a/guava/src/com/google/common/collect/ImmutableTable.java b/guava/src/com/google/common/collect/ImmutableTable.java
index 04acb8b13976..77d375f3dcb6 100644
--- a/guava/src/com/google/common/collect/ImmutableTable.java
+++ b/guava/src/com/google/common/collect/ImmutableTable.java
@@ -22,6 +22,7 @@
import com.google.common.base.MoreObjects;
import com.google.common.collect.Tables.AbstractCell;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Comparator;
@@ -263,6 +264,7 @@ static Cell cellOf(R rowKey, C columnKey, V value) {
*
* @since 11.0
*/
+ @DoNotMock
public static final class Builder {
private final List> cells = Lists.newArrayList();
@MonotonicNonNull private Comparator super R> rowComparator;
diff --git a/guava/src/com/google/common/collect/Interner.java b/guava/src/com/google/common/collect/Interner.java
index 0a06bfc1c37f..10d395d5024b 100644
--- a/guava/src/com/google/common/collect/Interner.java
+++ b/guava/src/com/google/common/collect/Interner.java
@@ -19,6 +19,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtIncompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
/**
* Provides equivalent behavior to {@link String#intern} for other immutable types. Common
@@ -28,6 +29,7 @@
* @since 3.0
*/
@Beta
+@DoNotMock("Use Interners.new*Interner")
@GwtIncompatible
public interface Interner {
/**
diff --git a/guava/src/com/google/common/collect/MapDifference.java b/guava/src/com/google/common/collect/MapDifference.java
index 760473f5e507..066aebf02496 100644
--- a/guava/src/com/google/common/collect/MapDifference.java
+++ b/guava/src/com/google/common/collect/MapDifference.java
@@ -17,6 +17,7 @@
package com.google.common.collect;
import com.google.common.annotations.GwtCompatible;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Map;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -26,6 +27,7 @@
* @author Kevin Bourrillion
* @since 2.0
*/
+@DoNotMock("Use Maps.difference")
@GwtCompatible
public interface MapDifference {
/**
@@ -84,6 +86,7 @@ public interface MapDifference {
*
* @since 2.0
*/
+ @DoNotMock("Use Maps.difference")
interface ValueDifference {
/** Returns the value from the left map (possibly null). */
V leftValue();
diff --git a/guava/src/com/google/common/collect/Multimap.java b/guava/src/com/google/common/collect/Multimap.java
index 13256ba3c6db..ec2b9ef2c544 100644
--- a/guava/src/com/google/common/collect/Multimap.java
+++ b/guava/src/com/google/common/collect/Multimap.java
@@ -21,6 +21,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import com.google.errorprone.annotations.CompatibleWith;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -158,6 +159,7 @@
* @author Jared Levy
* @since 2.0
*/
+@DoNotMock("Use ImmutableMultimap, HashMultimap, or another implementation")
@GwtCompatible
public interface Multimap {
// Query Operations
diff --git a/guava/src/com/google/common/collect/PeekingIterator.java b/guava/src/com/google/common/collect/PeekingIterator.java
index bcb84a054c7e..5a6c60b2bec4 100644
--- a/guava/src/com/google/common/collect/PeekingIterator.java
+++ b/guava/src/com/google/common/collect/PeekingIterator.java
@@ -18,6 +18,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Iterator;
import java.util.NoSuchElementException;
@@ -31,6 +32,7 @@
* @author Mick Killianey
* @since 2.0
*/
+@DoNotMock("Use Iterators.peekingIterator")
@GwtCompatible
public interface PeekingIterator extends Iterator {
/**
diff --git a/guava/src/com/google/common/collect/RangeMap.java b/guava/src/com/google/common/collect/RangeMap.java
index e144184981ed..0b319bdb61b9 100644
--- a/guava/src/com/google/common/collect/RangeMap.java
+++ b/guava/src/com/google/common/collect/RangeMap.java
@@ -18,6 +18,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtIncompatible;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Collection;
import java.util.Map;
import java.util.Map.Entry;
@@ -36,6 +37,7 @@
* @since 14.0
*/
@Beta
+@DoNotMock("Use ImmutableRangeMap or TreeRangeMap")
@GwtIncompatible
public interface RangeMap {
/**
diff --git a/guava/src/com/google/common/collect/RangeSet.java b/guava/src/com/google/common/collect/RangeSet.java
index dce3bd8cee4e..4805108c1b6a 100644
--- a/guava/src/com/google/common/collect/RangeSet.java
+++ b/guava/src/com/google/common/collect/RangeSet.java
@@ -15,6 +15,7 @@
package com.google.common.collect;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.common.annotations.GwtIncompatible;
import java.util.NoSuchElementException;
import java.util.Set;
@@ -49,6 +50,7 @@
* @since 14.0
*/
@Beta
+@DoNotMock("Use ImmutableRangeSet or TreeRangeSet")
@GwtIncompatible
public interface RangeSet {
// TODO(lowasser): consider adding default implementations of some of these methods
diff --git a/guava/src/com/google/common/collect/Table.java b/guava/src/com/google/common/collect/Table.java
index 9e29aa991251..8a3248245012 100644
--- a/guava/src/com/google/common/collect/Table.java
+++ b/guava/src/com/google/common/collect/Table.java
@@ -20,6 +20,7 @@
import com.google.common.base.Objects;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import com.google.errorprone.annotations.CompatibleWith;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Collection;
import java.util.Map;
import java.util.Set;
@@ -52,6 +53,7 @@
* @param the type of the mapped values
* @since 7.0
*/
+@DoNotMock("Use ImmutableTable, HashBasedTable, or another implementation")
@GwtCompatible
public interface Table {
// TODO(jlevy): Consider adding methods similar to ConcurrentMap methods.
diff --git a/guava/src/com/google/common/escape/Escaper.java b/guava/src/com/google/common/escape/Escaper.java
index 97abc7539d39..0d32a09a1e18 100644
--- a/guava/src/com/google/common/escape/Escaper.java
+++ b/guava/src/com/google/common/escape/Escaper.java
@@ -16,6 +16,7 @@
import com.google.common.annotations.GwtCompatible;
import com.google.common.base.Function;
+import com.google.errorprone.annotations.DoNotMock;
/**
* An object that converts literal text into a format safe for inclusion in a particular context
@@ -53,6 +54,7 @@
* @author David Beaumont
* @since 15.0
*/
+@DoNotMock("Use Escapers.nullEscaper() or another methods from the *Escapers classes")
@GwtCompatible
public abstract class Escaper {
// TODO(dbeaumont): evaluate custom implementations, considering package private constructor.
diff --git a/guava/src/com/google/common/graph/Graph.java b/guava/src/com/google/common/graph/Graph.java
index 0be05761d5bf..1b5142aa6342 100644
--- a/guava/src/com/google/common/graph/Graph.java
+++ b/guava/src/com/google/common/graph/Graph.java
@@ -17,6 +17,7 @@
package com.google.common.graph;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Collection;
import java.util.Set;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -101,6 +102,7 @@
* @since 20.0
*/
@Beta
+@DoNotMock("Use GraphBuilder to create a real instance")
public interface Graph extends BaseGraph {
//
// Graph-level accessors
diff --git a/guava/src/com/google/common/graph/GraphBuilder.java b/guava/src/com/google/common/graph/GraphBuilder.java
index dca26807daf4..5b15e5ca021b 100644
--- a/guava/src/com/google/common/graph/GraphBuilder.java
+++ b/guava/src/com/google/common/graph/GraphBuilder.java
@@ -22,6 +22,7 @@
import com.google.common.annotations.Beta;
import com.google.common.base.Optional;
+import com.google.errorprone.annotations.DoNotMock;
/**
* A builder for constructing instances of {@link MutableGraph} or {@link ImmutableGraph} with
@@ -62,6 +63,7 @@
* @since 20.0
*/
@Beta
+@DoNotMock
public final class GraphBuilder extends AbstractGraphBuilder {
/** Creates a new instance with the specified edge directionality. */
diff --git a/guava/src/com/google/common/graph/Network.java b/guava/src/com/google/common/graph/Network.java
index 2ef6687660a0..6bb845228001 100644
--- a/guava/src/com/google/common/graph/Network.java
+++ b/guava/src/com/google/common/graph/Network.java
@@ -17,6 +17,7 @@
package com.google.common.graph;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Optional;
import java.util.Set;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -102,6 +103,7 @@
* @since 20.0
*/
@Beta
+@DoNotMock("Use NetworkBuilder to create a real instance")
public interface Network extends SuccessorsFunction, PredecessorsFunction {
//
// Network-level accessors
diff --git a/guava/src/com/google/common/graph/PredecessorsFunction.java b/guava/src/com/google/common/graph/PredecessorsFunction.java
index b8f7ea5ebaa2..f9ca48ae77b9 100644
--- a/guava/src/com/google/common/graph/PredecessorsFunction.java
+++ b/guava/src/com/google/common/graph/PredecessorsFunction.java
@@ -17,6 +17,7 @@
package com.google.common.graph;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
/**
* A functional interface for {
/**
diff --git a/guava/src/com/google/common/graph/SuccessorsFunction.java b/guava/src/com/google/common/graph/SuccessorsFunction.java
index ed60a5d93007..f74f437c2937 100644
--- a/guava/src/com/google/common/graph/SuccessorsFunction.java
+++ b/guava/src/com/google/common/graph/SuccessorsFunction.java
@@ -17,6 +17,7 @@
package com.google.common.graph;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
/**
* A functional interface for {
/**
diff --git a/guava/src/com/google/common/hash/Funnel.java b/guava/src/com/google/common/hash/Funnel.java
index 077ef7ac0123..2c6a7b9820f5 100644
--- a/guava/src/com/google/common/hash/Funnel.java
+++ b/guava/src/com/google/common/hash/Funnel.java
@@ -15,6 +15,7 @@
package com.google.common.hash;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
import java.io.Serializable;
/**
@@ -41,6 +42,7 @@
* @since 11.0
*/
@Beta
+@DoNotMock("Implement with a lambda")
public interface Funnel extends Serializable {
/**
diff --git a/guava/src/com/google/common/hash/HashFunction.java b/guava/src/com/google/common/hash/HashFunction.java
index 78842595f692..f08d95b47b8c 100644
--- a/guava/src/com/google/common/hash/HashFunction.java
+++ b/guava/src/com/google/common/hash/HashFunction.java
@@ -16,6 +16,7 @@
import com.google.common.annotations.Beta;
import com.google.common.primitives.Ints;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.errorprone.annotations.Immutable;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
@@ -116,6 +117,7 @@
* @since 11.0
*/
@Beta
+@DoNotMock("Use a real instance from Hashing")
@Immutable
public interface HashFunction {
/**
diff --git a/guava/src/com/google/common/io/ByteProcessor.java b/guava/src/com/google/common/io/ByteProcessor.java
index 23f0e3ef810c..115c73571555 100644
--- a/guava/src/com/google/common/io/ByteProcessor.java
+++ b/guava/src/com/google/common/io/ByteProcessor.java
@@ -17,6 +17,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtIncompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.io.IOException;
/**
@@ -29,6 +30,7 @@
* @since 1.0
*/
@Beta
+@DoNotMock("Implement it normally")
@GwtIncompatible
public interface ByteProcessor {
/**
diff --git a/guava/src/com/google/common/reflect/TypeToInstanceMap.java b/guava/src/com/google/common/reflect/TypeToInstanceMap.java
index d4097c61ef65..443b2580cfc5 100644
--- a/guava/src/com/google/common/reflect/TypeToInstanceMap.java
+++ b/guava/src/com/google/common/reflect/TypeToInstanceMap.java
@@ -16,6 +16,7 @@
import com.google.common.annotations.Beta;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Map;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -39,6 +40,7 @@
* @since 13.0
*/
@Beta
+@DoNotMock("Use ImmutableTypeToInstanceMap or MutableTypeToInstanceMap")
public interface TypeToInstanceMap extends Map, B> {
/**
diff --git a/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java b/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java
index e684d71caa65..469eb6757a09 100644
--- a/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java
+++ b/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java
@@ -15,6 +15,7 @@
package com.google.common.util.concurrent;
import com.google.common.annotations.GwtIncompatible;
+import com.google.errorprone.annotations.DoNotMock;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.Callable;
@@ -31,6 +32,9 @@
* @author Chris Povirk
* @since 10.0
*/
+@DoNotMock(
+ "Use TestingExecutors.sameThreadScheduledExecutor, or wrap a real Executor from "
+ + "java.util.concurrent.Executors with MoreExecutors.listeningDecorator")
@GwtIncompatible
public interface ListeningExecutorService extends ExecutorService {
/**
diff --git a/guava/src/com/google/common/util/concurrent/Service.java b/guava/src/com/google/common/util/concurrent/Service.java
index b4e7004e9732..b8ec15fc0746 100644
--- a/guava/src/com/google/common/util/concurrent/Service.java
+++ b/guava/src/com/google/common/util/concurrent/Service.java
@@ -17,6 +17,7 @@
import static com.google.common.util.concurrent.Internal.toNanosSaturated;
import com.google.common.annotations.Beta;
+import com.google.errorprone.annotations.DoNotMock;
import com.google.common.annotations.GwtIncompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import java.time.Duration;
@@ -55,6 +56,7 @@
* @since 9.0 (in 1.0 as {@code com.google.common.base.Service})
*/
@Beta
+@DoNotMock("Create an AbstractIdleService")
@GwtIncompatible
public interface Service {
/**
diff --git a/guava/src/com/google/common/util/concurrent/TimeLimiter.java b/guava/src/com/google/common/util/concurrent/TimeLimiter.java
index 696283040a71..600c6cf58f5d 100644
--- a/guava/src/com/google/common/util/concurrent/TimeLimiter.java
+++ b/guava/src/com/google/common/util/concurrent/TimeLimiter.java
@@ -19,6 +19,7 @@
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtIncompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.DoNotMock;
import java.time.Duration;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
@@ -33,6 +34,7 @@
* @since 1.0
*/
@Beta
+@DoNotMock("Use FakeTimeLimiter")
@GwtIncompatible
public interface TimeLimiter {
diff --git a/pom.xml b/pom.xml
index ae3c715f43b6..28af30c8df3f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -252,7 +252,7 @@
com.google.errorprone
error_prone_annotations
- 2.3.3
+ 2.3.4
com.google.j2objc
| |