summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorEugene Susla <eugenesusla@google.com>2020-02-25 18:19:50 -0800
committerEugene Susla <eugenesusla@google.com>2020-03-05 23:54:43 +0000
commit47ca5d035e039205b68b310b66d3d1b04318966a (patch)
tree4abc908685881fba1e076a50878a6a7e10917963 /core/java
parent9a967db5750d62581c02038126e84dceacd240e6 (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.java15
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.