Turn on nullability annotation for the non-ojluni classes.

Previously, libcore does nullability validation of ojluni classes,
using the existence of nullability stub files to indicate which
classes to validate. This change turns on validation for classes which
are annotated directly in the source rather than using stubs, by
listing them explicitly.

This change also adds one annotation previously missing from
BigInteger (which was found by this validation).

Test: core-current-stubs-nullability-validation-check-nullability-warnings
Bug: 73448108
Bug: 64930165
Change-Id: I21fcf45c4c58ec9b93333efbdd29de3eca2f3e81
diff --git a/JavaLibrary.bp b/JavaLibrary.bp
index 6c2640c..8278e6d 100644
--- a/JavaLibrary.bp
+++ b/JavaLibrary.bp
@@ -659,6 +659,9 @@
         // N.B. Stubs in this filegroup will be validated:
         "ojluni-annotated-nullability-stubs",
     ],
+    // The list of classes which have nullability annotations included in the source.
+    // (This is in addition to those which have annotations in the merged stubs.)
+    validate_nullability_from_list: "nullability_annotated_classes.txt",
     // The expected set of warnings about missing annotations:
     check_nullability_warnings: "nullability_warnings.txt",
 }
diff --git a/luni/src/main/java/java/math/BigInteger.java b/luni/src/main/java/java/math/BigInteger.java
index bdd1a59..f7c0be2 100644
--- a/luni/src/main/java/java/math/BigInteger.java
+++ b/luni/src/main/java/java/math/BigInteger.java
@@ -919,7 +919,7 @@
      * @see #divide
      * @see #remainder
      */
-    public @NonNull BigInteger @NonNull [] divideAndRemainder(BigInteger divisor) {
+    public @NonNull BigInteger @NonNull [] divideAndRemainder(@NonNull BigInteger divisor) {
         BigInt divisorBigInt = divisor.getBigInt();
         BigInt quotient = new BigInt();
         BigInt remainder = new BigInt();
diff --git a/nullability_annotated_classes.txt b/nullability_annotated_classes.txt
new file mode 100644
index 0000000..e241e0b
--- /dev/null
+++ b/nullability_annotated_classes.txt
@@ -0,0 +1,6 @@
+# The following classes have nullability annotations directly in their source
+# which should be validated for correctness and completeness. (N.B. Classes
+# with annotations in stub files under ojluni/annotations/sdk/nullability/
+# should also be validated, but are not listed here.)
+java.math.BigInteger
+org.json.JSONObject