diff options
| author | Eugene Susla <eugenesusla@google.com> | 2020-02-25 18:19:50 -0800 |
|---|---|---|
| committer | Eugene Susla <eugenesusla@google.com> | 2020-03-05 23:54:43 +0000 |
| commit | 47ca5d035e039205b68b310b66d3d1b04318966a (patch) | |
| tree | 4abc908685881fba1e076a50878a6a7e10917963 /core/java | |
| parent | 9a967db5750d62581c02038126e84dceacd240e6 (diff) | |
Generate @NonNull setter args and @MaySetToNull to opt out
Bug: 143653080
Test: source /usr/local/google/home/eugenesusla/android2/master/frameworks/base/tests/Codegen/runTest.sh
Change-Id: Iba8da34c91fd09e266429ab131add1d53449506b
(cherry picked from commit ab14c55c1f085153f09741e497eb0cdeee38f0e1)
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/util/DataClass.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/core/java/com/android/internal/util/DataClass.java b/core/java/com/android/internal/util/DataClass.java index 43539c7c4011..ee139d90888f 100644 --- a/core/java/com/android/internal/util/DataClass.java +++ b/core/java/com/android/internal/util/DataClass.java @@ -15,7 +15,13 @@ */ package com.android.internal.util; -import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.ElementType.ANNOTATION_TYPE; +import static java.lang.annotation.ElementType.CONSTRUCTOR; +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.LOCAL_VARIABLE; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.ElementType.PARAMETER; +import static java.lang.annotation.ElementType.TYPE; import android.annotation.IntDef; import android.annotation.Nullable; @@ -243,6 +249,13 @@ public @interface DataClass { } /** + * Mark that the field should have a {@link Nullable} argument for its setter. + */ + @Retention(RetentionPolicy.SOURCE) + @Target({FIELD}) + @interface MaySetToNull {} + + /** * Callback used by {@link #genForEachField}. * * @param <THIS> The enclosing data class instance. |
