Add @Nullable and @NonNull to intra-core API
We want to annotate methods in the new files in external/conscrypt,
which can only depend on libcore via the intra-core API, so we need
access to these annotations.
Bug: 120475246
Test: make checkbuild
Change-Id: Ie7a7a59a84b2d86db1e9ef4499dd596c75f2bb17
diff --git a/luni/src/main/java/libcore/util/NonNull.java b/luni/src/main/java/libcore/util/NonNull.java
index f2f2ef6..900e581 100644
--- a/luni/src/main/java/libcore/util/NonNull.java
+++ b/luni/src/main/java/libcore/util/NonNull.java
@@ -16,7 +16,6 @@
package libcore.util;
import static java.lang.annotation.ElementType.TYPE_USE;
-import static java.lang.annotation.ElementType.TYPE_PARAMETER;
import static java.lang.annotation.RetentionPolicy.SOURCE;
import java.lang.annotation.Documented;
@@ -27,10 +26,12 @@
* Denotes that a type use can never be null.
* <p>
* This is a marker annotation and it has no specific attributes.
+ * @hide
*/
@Documented
@Retention(SOURCE)
@Target({TYPE_USE})
+@libcore.api.IntraCoreApi
public @interface NonNull {
/**
* Min Android API level (inclusive) to which this annotation is applied.
diff --git a/luni/src/main/java/libcore/util/Nullable.java b/luni/src/main/java/libcore/util/Nullable.java
index c2823af..c8cbe38 100644
--- a/luni/src/main/java/libcore/util/Nullable.java
+++ b/luni/src/main/java/libcore/util/Nullable.java
@@ -16,7 +16,6 @@
package libcore.util;
import static java.lang.annotation.ElementType.TYPE_USE;
-import static java.lang.annotation.ElementType.TYPE_PARAMETER;
import static java.lang.annotation.RetentionPolicy.SOURCE;
import java.lang.annotation.Documented;
@@ -27,10 +26,12 @@
* Denotes that a type use can be a null.
* <p>
* This is a marker annotation and it has no specific attributes.
+ * @hide
*/
@Documented
@Retention(SOURCE)
@Target({TYPE_USE})
+@libcore.api.IntraCoreApi
public @interface Nullable {
/**
* Min Android API level (inclusive) to which this annotation is applied.
diff --git a/mmodules/intracoreapi/api/intra/current-api.txt b/mmodules/intracoreapi/api/intra/current-api.txt
index ce23292..52a97a6 100644
--- a/mmodules/intracoreapi/api/intra/current-api.txt
+++ b/mmodules/intracoreapi/api/intra/current-api.txt
@@ -524,6 +524,16 @@
}
+package libcore.util {
+
+ public abstract class NonNull implements java.lang.annotation.Annotation {
+ }
+
+ public abstract class Nullable implements java.lang.annotation.Annotation {
+ }
+
+}
+
package sun.security.util {
public abstract interface DerEncoder {
diff --git a/non_openjdk_java_files.bp b/non_openjdk_java_files.bp
index 9a94a14..d711c9d 100644
--- a/non_openjdk_java_files.bp
+++ b/non_openjdk_java_files.bp
@@ -194,6 +194,8 @@
"luni/src/main/java/libcore/util/EmptyArray.java",
"luni/src/main/java/libcore/util/HexEncoding.java",
"luni/src/main/java/libcore/util/NativeAllocationRegistry.java",
+ "luni/src/main/java/libcore/util/NonNull.java",
+ "luni/src/main/java/libcore/util/Nullable.java",
"luni/src/main/java/libcore/util/SneakyThrow.java",
"luni/src/main/java/libcore/util/XmlObjectFactory.java",
"luni/src/main/java/libcore/util/ZoneInfo.java",