diff options
| author | Anton Hansson <hansson@google.com> | 2020-02-08 12:15:25 +0000 |
|---|---|---|
| committer | Anton Hansson <hansson@google.com> | 2020-02-12 17:12:06 +0000 |
| commit | 7f94169e56b32cb83b2d87c4d738c41b78b07f6e (patch) | |
| tree | 23fc21eca023744795c8cdb5a68e429700828f06 /core/java/android | |
| parent | 3939d29c0bd85c7c0798583787d8fb9135578c5b (diff) | |
Add @Nullable and @NonNull to module API
These two annotations are already in the public/system stubs,
but are re-written to be package private instead of public. This
makes them inaccessible to libs building against these stubs.
When setting sdk_version:<X>, the stubs of X will appear before any
other libraries on the classpath. This also makes it impossible for
modules to add Nullable annotations of their own when setting sdk_version.
Exposing these annotations as public in the module stubs makes it
possible for modules using these annotation to specify an sdk_version.
Bug: 146758669
Test: m
Test: downstream CLs using sdk_version:module_current
Change-Id: I71fb766d02f833ed9a1b3a7dbfbc1c8118882b30
Merged-In: I71fb766d02f833ed9a1b3a7dbfbc1c8118882b30
(cherry picked from commit c8fc90a0c2b04a5f6f5e6006155ca1e9a09db4e3)
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/annotation/NonNull.java | 9 | ||||
| -rw-r--r-- | core/java/android/annotation/Nullable.java | 9 |
2 files changed, 12 insertions, 6 deletions
diff --git a/core/java/android/annotation/NonNull.java b/core/java/android/annotation/NonNull.java index 927f9975b3eb..a95bf3b8061e 100644 --- a/core/java/android/annotation/NonNull.java +++ b/core/java/android/annotation/NonNull.java @@ -15,14 +15,16 @@ */ package android.annotation; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.RetentionPolicy.SOURCE; +import android.annotation.SystemApi.Client; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + /** * Denotes that a parameter, field or method return value can never be null. * <p> @@ -34,5 +36,6 @@ import static java.lang.annotation.RetentionPolicy.SOURCE; */ @Retention(SOURCE) @Target({METHOD, PARAMETER, FIELD}) +@SystemApi(client = Client.MODULE_LIBRARIES) public @interface NonNull { } diff --git a/core/java/android/annotation/Nullable.java b/core/java/android/annotation/Nullable.java index b60170b134e1..2fcddfab9375 100644 --- a/core/java/android/annotation/Nullable.java +++ b/core/java/android/annotation/Nullable.java @@ -15,14 +15,16 @@ */ package android.annotation; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.RetentionPolicy.SOURCE; +import android.annotation.SystemApi.Client; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + /** * Denotes that a parameter, field or method return value can be null. * <p> @@ -41,5 +43,6 @@ import static java.lang.annotation.RetentionPolicy.SOURCE; */ @Retention(SOURCE) @Target({METHOD, PARAMETER, FIELD}) +@SystemApi(client = Client.MODULE_LIBRARIES) public @interface Nullable { } |
