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
This commit is contained in:
@@ -1,4 +1,14 @@
|
|||||||
// Signature format: 2.0
|
// Signature format: 2.0
|
||||||
|
package android.annotation {
|
||||||
|
|
||||||
|
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.FIELD}) public @interface NonNull {
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.FIELD}) public @interface Nullable {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
package android.net {
|
package android.net {
|
||||||
|
|
||||||
public final class TetheredClient implements android.os.Parcelable {
|
public final class TetheredClient implements android.os.Parcelable {
|
||||||
|
|||||||
@@ -15,14 +15,16 @@
|
|||||||
*/
|
*/
|
||||||
package android.annotation;
|
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.FIELD;
|
||||||
import static java.lang.annotation.ElementType.METHOD;
|
import static java.lang.annotation.ElementType.METHOD;
|
||||||
import static java.lang.annotation.ElementType.PARAMETER;
|
import static java.lang.annotation.ElementType.PARAMETER;
|
||||||
import static java.lang.annotation.RetentionPolicy.SOURCE;
|
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.
|
* Denotes that a parameter, field or method return value can never be null.
|
||||||
* <p>
|
* <p>
|
||||||
@@ -34,5 +36,6 @@ import static java.lang.annotation.RetentionPolicy.SOURCE;
|
|||||||
*/
|
*/
|
||||||
@Retention(SOURCE)
|
@Retention(SOURCE)
|
||||||
@Target({METHOD, PARAMETER, FIELD})
|
@Target({METHOD, PARAMETER, FIELD})
|
||||||
|
@SystemApi(client = Client.MODULE_LIBRARIES)
|
||||||
public @interface NonNull {
|
public @interface NonNull {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,14 +15,16 @@
|
|||||||
*/
|
*/
|
||||||
package android.annotation;
|
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.FIELD;
|
||||||
import static java.lang.annotation.ElementType.METHOD;
|
import static java.lang.annotation.ElementType.METHOD;
|
||||||
import static java.lang.annotation.ElementType.PARAMETER;
|
import static java.lang.annotation.ElementType.PARAMETER;
|
||||||
import static java.lang.annotation.RetentionPolicy.SOURCE;
|
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.
|
* Denotes that a parameter, field or method return value can be null.
|
||||||
* <p>
|
* <p>
|
||||||
@@ -41,5 +43,6 @@ import static java.lang.annotation.RetentionPolicy.SOURCE;
|
|||||||
*/
|
*/
|
||||||
@Retention(SOURCE)
|
@Retention(SOURCE)
|
||||||
@Target({METHOD, PARAMETER, FIELD})
|
@Target({METHOD, PARAMETER, FIELD})
|
||||||
|
@SystemApi(client = Client.MODULE_LIBRARIES)
|
||||||
public @interface Nullable {
|
public @interface Nullable {
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user