summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPete Gillin <peteg@google.com>2018-11-14 18:42:19 +0000
committerPete Gillin <peteg@google.com>2018-11-14 19:00:22 +0000
commitc5f179b04e58be2eefab1ad5e658d357a02b78c2 (patch)
tree3e7056b7239416942857c351f0f047d3f2a57850
parentd260231f0cb1148623b3e8b387d28269b8e08d27 (diff)
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
-rw-r--r--JavaLibrary.bp3
-rw-r--r--luni/src/main/java/java/math/BigInteger.java2
-rw-r--r--nullability_annotated_classes.txt6
3 files changed, 10 insertions, 1 deletions
diff --git a/JavaLibrary.bp b/JavaLibrary.bp
index 6c2640c368..8278e6d8f3 100644
--- a/JavaLibrary.bp
+++ b/JavaLibrary.bp
@@ -659,6 +659,9 @@ droidstubs {
// 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 bdd1a59be6..f7c0be2034 100644
--- a/luni/src/main/java/java/math/BigInteger.java
+++ b/luni/src/main/java/java/math/BigInteger.java
@@ -919,7 +919,7 @@ public class BigInteger extends Number
* @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 0000000000..e241e0ba29
--- /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