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",