diff options
author | Pete Gillin <peteg@google.com> | 2018-11-14 18:42:19 +0000 |
---|---|---|
committer | Pete Gillin <peteg@google.com> | 2018-11-14 19:00:22 +0000 |
commit | c5f179b04e58be2eefab1ad5e658d357a02b78c2 (patch) | |
tree | 3e7056b7239416942857c351f0f047d3f2a57850 | |
parent | d260231f0cb1148623b3e8b387d28269b8e08d27 (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.bp | 3 | ||||
-rw-r--r-- | luni/src/main/java/java/math/BigInteger.java | 2 | ||||
-rw-r--r-- | nullability_annotated_classes.txt | 6 |
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 |