diff --git a/android/guava/src/com/google/common/base/ParametricNullness.java b/android/guava/src/com/google/common/base/ParametricNullness.java
index 3fadb315554a..cdec346f42b5 100644
--- a/android/guava/src/com/google/common/base/ParametricNullness.java
+++ b/android/guava/src/com/google/common/base/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/cache/ParametricNullness.java b/android/guava/src/com/google/common/cache/ParametricNullness.java
index 8892bb45267d..affbfc511840 100644
--- a/android/guava/src/com/google/common/cache/ParametricNullness.java
+++ b/android/guava/src/com/google/common/cache/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/collect/ParametricNullness.java b/android/guava/src/com/google/common/collect/ParametricNullness.java
index 8074de5d5689..d3d67ef6a186 100644
--- a/android/guava/src/com/google/common/collect/ParametricNullness.java
+++ b/android/guava/src/com/google/common/collect/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/escape/ParametricNullness.java b/android/guava/src/com/google/common/escape/ParametricNullness.java
index 9ac5d62e1296..3ddd153ba04f 100644
--- a/android/guava/src/com/google/common/escape/ParametricNullness.java
+++ b/android/guava/src/com/google/common/escape/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/eventbus/ParametricNullness.java b/android/guava/src/com/google/common/eventbus/ParametricNullness.java
index fd07ef09cb60..06ab743cb700 100644
--- a/android/guava/src/com/google/common/eventbus/ParametricNullness.java
+++ b/android/guava/src/com/google/common/eventbus/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/graph/ParametricNullness.java b/android/guava/src/com/google/common/graph/ParametricNullness.java
index 634ee0e19782..67db8773c3d0 100644
--- a/android/guava/src/com/google/common/graph/ParametricNullness.java
+++ b/android/guava/src/com/google/common/graph/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/hash/ParametricNullness.java b/android/guava/src/com/google/common/hash/ParametricNullness.java
index f5a8614a8762..1aee79c6a64b 100644
--- a/android/guava/src/com/google/common/hash/ParametricNullness.java
+++ b/android/guava/src/com/google/common/hash/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/html/ParametricNullness.java b/android/guava/src/com/google/common/html/ParametricNullness.java
index a43cc22a06b0..812d5b6aec8d 100644
--- a/android/guava/src/com/google/common/html/ParametricNullness.java
+++ b/android/guava/src/com/google/common/html/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/io/ParametricNullness.java b/android/guava/src/com/google/common/io/ParametricNullness.java
index 32eee700e1c6..48773c8718a1 100644
--- a/android/guava/src/com/google/common/io/ParametricNullness.java
+++ b/android/guava/src/com/google/common/io/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/math/ParametricNullness.java b/android/guava/src/com/google/common/math/ParametricNullness.java
index a18ba9348f9a..34901185ab04 100644
--- a/android/guava/src/com/google/common/math/ParametricNullness.java
+++ b/android/guava/src/com/google/common/math/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/net/ParametricNullness.java b/android/guava/src/com/google/common/net/ParametricNullness.java
index 5b3af1736ee1..d79abc1991ed 100644
--- a/android/guava/src/com/google/common/net/ParametricNullness.java
+++ b/android/guava/src/com/google/common/net/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/primitives/ParametricNullness.java b/android/guava/src/com/google/common/primitives/ParametricNullness.java
index 9af83702c0b1..598e5e68bcf6 100644
--- a/android/guava/src/com/google/common/primitives/ParametricNullness.java
+++ b/android/guava/src/com/google/common/primitives/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/reflect/ParametricNullness.java b/android/guava/src/com/google/common/reflect/ParametricNullness.java
index 4cc7fd284847..4c9afbe59684 100644
--- a/android/guava/src/com/google/common/reflect/ParametricNullness.java
+++ b/android/guava/src/com/google/common/reflect/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/util/concurrent/ParametricNullness.java b/android/guava/src/com/google/common/util/concurrent/ParametricNullness.java
index f12f1133e6df..fcc986685545 100644
--- a/android/guava/src/com/google/common/util/concurrent/ParametricNullness.java
+++ b/android/guava/src/com/google/common/util/concurrent/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/android/guava/src/com/google/common/xml/ParametricNullness.java b/android/guava/src/com/google/common/xml/ParametricNullness.java
index 0d989c7cefa6..e8af7cb05d02 100644
--- a/android/guava/src/com/google/common/xml/ParametricNullness.java
+++ b/android/guava/src/com/google/common/xml/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/base/ParametricNullness.java b/guava/src/com/google/common/base/ParametricNullness.java
index 3fadb315554a..cdec346f42b5 100644
--- a/guava/src/com/google/common/base/ParametricNullness.java
+++ b/guava/src/com/google/common/base/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/cache/ParametricNullness.java b/guava/src/com/google/common/cache/ParametricNullness.java
index 8892bb45267d..affbfc511840 100644
--- a/guava/src/com/google/common/cache/ParametricNullness.java
+++ b/guava/src/com/google/common/cache/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/collect/ParametricNullness.java b/guava/src/com/google/common/collect/ParametricNullness.java
index 8074de5d5689..d3d67ef6a186 100644
--- a/guava/src/com/google/common/collect/ParametricNullness.java
+++ b/guava/src/com/google/common/collect/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/escape/ParametricNullness.java b/guava/src/com/google/common/escape/ParametricNullness.java
index 9ac5d62e1296..3ddd153ba04f 100644
--- a/guava/src/com/google/common/escape/ParametricNullness.java
+++ b/guava/src/com/google/common/escape/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/eventbus/ParametricNullness.java b/guava/src/com/google/common/eventbus/ParametricNullness.java
index fd07ef09cb60..06ab743cb700 100644
--- a/guava/src/com/google/common/eventbus/ParametricNullness.java
+++ b/guava/src/com/google/common/eventbus/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/graph/ParametricNullness.java b/guava/src/com/google/common/graph/ParametricNullness.java
index 634ee0e19782..67db8773c3d0 100644
--- a/guava/src/com/google/common/graph/ParametricNullness.java
+++ b/guava/src/com/google/common/graph/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/hash/ParametricNullness.java b/guava/src/com/google/common/hash/ParametricNullness.java
index f5a8614a8762..1aee79c6a64b 100644
--- a/guava/src/com/google/common/hash/ParametricNullness.java
+++ b/guava/src/com/google/common/hash/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/html/ParametricNullness.java b/guava/src/com/google/common/html/ParametricNullness.java
index a43cc22a06b0..812d5b6aec8d 100644
--- a/guava/src/com/google/common/html/ParametricNullness.java
+++ b/guava/src/com/google/common/html/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/io/ParametricNullness.java b/guava/src/com/google/common/io/ParametricNullness.java
index 32eee700e1c6..48773c8718a1 100644
--- a/guava/src/com/google/common/io/ParametricNullness.java
+++ b/guava/src/com/google/common/io/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/math/ParametricNullness.java b/guava/src/com/google/common/math/ParametricNullness.java
index a18ba9348f9a..34901185ab04 100644
--- a/guava/src/com/google/common/math/ParametricNullness.java
+++ b/guava/src/com/google/common/math/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/net/ParametricNullness.java b/guava/src/com/google/common/net/ParametricNullness.java
index 5b3af1736ee1..d79abc1991ed 100644
--- a/guava/src/com/google/common/net/ParametricNullness.java
+++ b/guava/src/com/google/common/net/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/primitives/ParametricNullness.java b/guava/src/com/google/common/primitives/ParametricNullness.java
index 9af83702c0b1..598e5e68bcf6 100644
--- a/guava/src/com/google/common/primitives/ParametricNullness.java
+++ b/guava/src/com/google/common/primitives/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/reflect/ParametricNullness.java b/guava/src/com/google/common/reflect/ParametricNullness.java
index 4cc7fd284847..4c9afbe59684 100644
--- a/guava/src/com/google/common/reflect/ParametricNullness.java
+++ b/guava/src/com/google/common/reflect/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/util/concurrent/ParametricNullness.java b/guava/src/com/google/common/util/concurrent/ParametricNullness.java
index f12f1133e6df..fcc986685545 100644
--- a/guava/src/com/google/common/util/concurrent/ParametricNullness.java
+++ b/guava/src/com/google/common/util/concurrent/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}
diff --git a/guava/src/com/google/common/xml/ParametricNullness.java b/guava/src/com/google/common/xml/ParametricNullness.java
index 0d989c7cefa6..e8af7cb05d02 100644
--- a/guava/src/com/google/common/xml/ParametricNullness.java
+++ b/guava/src/com/google/common/xml/ParametricNullness.java
@@ -19,7 +19,7 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.RetentionPolicy.CLASS;
import com.google.common.annotations.GwtCompatible;
import java.lang.annotation.Retention;
@@ -54,32 +54,19 @@
*
Consumers of this annotation include:
*
*
- * - Kotlin, for which it makes the type-variable usage (a) a Kotlin platform type when the type
- * argument is non-nullable and (b) nullable when the type argument is nullable. We use this
- * to reduce the immediate effects of {@code NullMarked} as we transition to JSpecify
- * annotations.
- *
- NullAway, which will treat it
- * identically to {@code Nullable} as of version 0.9.9. To treat it that way before then,
- * you can set {@code
- * -XepOpt:NullAway:CustomNullableAnnotations=com.google.common.base.ParametricNullness,...,com.google.common.util.concurrent.ParametricNullness},
- * where the {@code ...} contains the names of all the other {@code ParametricNullness}
- * annotations in Guava. Or you might prefer to omit Guava from your {@code AnnotatedPackages}
- * list.
- *
- J2ObjC
- *
- {@code NullPointerTester}, at least in the Android backport (where the type-use annotations
- * {@code NullPointerTester} would need are not available) and in case of JDK-8202469
+ *
- NullAway, which treats it
+ * identically to {@code Nullable} as of version 0.9.9.
+ *
- J2ObjC, maybe: It might no longer be
+ * necessary there, since we have stopped using the {@code @ParametersAreNonnullByDefault}
+ * annotations that {@code ParametricNullness} was counteracting.
*
*
- * This annotation is a temporary hack. We will remove it after we're able to adopt the JSpecify nullness annotations and This annotation is a temporary hack. We will remove it after tools no longer need
* it.
*/
@GwtCompatible
-@Retention(RUNTIME)
+@Retention(CLASS)
@Target({FIELD, METHOD, PARAMETER})
-@javax.annotation.meta.TypeQualifierNickname
-@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN)
@interface ParametricNullness {}