Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f562219 authored by Eugene Susla's avatar Eugene Susla Committed by Android (Google) Code Review
Browse files

Merge "Generate @NonNull setter args and @MaySetToNull to opt out" into rvc-dev

parents 5957853d 47ca5d03
Loading
Loading
Loading
Loading
+14 −1
Original line number Original line Diff line number Diff line
@@ -15,7 +15,13 @@
 */
 */
package com.android.internal.util;
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.IntDef;
import android.annotation.Nullable;
import android.annotation.Nullable;
@@ -242,6 +248,13 @@ public @interface DataClass {
        String[] value();
        String[] value();
    }
    }


    /**
     * 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}.
     * Callback used by {@link #genForEachField}.
     *
     *
+4 −4
Original line number Original line Diff line number Diff line
@@ -32,7 +32,7 @@ public class HierrarchicalDataClassBase implements Parcelable {






    // Code below generated by codegen v1.0.14.
    // Code below generated by codegen v1.0.15.
    //
    //
    // DO NOT MODIFY!
    // DO NOT MODIFY!
    // CHECKSTYLE:OFF Generated code
    // CHECKSTYLE:OFF Generated code
@@ -98,8 +98,8 @@ public class HierrarchicalDataClassBase implements Parcelable {
    };
    };


    @DataClass.Generated(
    @DataClass.Generated(
            time = 1574122837821L,
            time = 1582685650576L,
            codegenVersion = "1.0.14",
            codegenVersion = "1.0.15",
            sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/HierrarchicalDataClassBase.java",
            sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/HierrarchicalDataClassBase.java",
            inputSignatures = "private  int mBaseData\nclass HierrarchicalDataClassBase extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genConstructor=false, genSetters=true)")
            inputSignatures = "private  int mBaseData\nclass HierrarchicalDataClassBase extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genConstructor=false, genSetters=true)")
    @Deprecated
    @Deprecated
+3 −3
Original line number Original line Diff line number Diff line
@@ -46,7 +46,7 @@ public class HierrarchicalDataClassChild extends HierrarchicalDataClassBase {






    // Code below generated by codegen v1.0.14.
    // Code below generated by codegen v1.0.15.
    //
    //
    // DO NOT MODIFY!
    // DO NOT MODIFY!
    // CHECKSTYLE:OFF Generated code
    // CHECKSTYLE:OFF Generated code
@@ -120,8 +120,8 @@ public class HierrarchicalDataClassChild extends HierrarchicalDataClassBase {
    };
    };


    @DataClass.Generated(
    @DataClass.Generated(
            time = 1574122838768L,
            time = 1582685651560L,
            codegenVersion = "1.0.14",
            codegenVersion = "1.0.15",
            sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/HierrarchicalDataClassChild.java",
            sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/HierrarchicalDataClassChild.java",
            inputSignatures = "private @android.annotation.NonNull java.lang.String mChildData\nclass HierrarchicalDataClassChild extends com.android.codegentest.HierrarchicalDataClassBase implements []\n@com.android.internal.util.DataClass(genParcelable=true, genConstructor=false, genSetters=true)")
            inputSignatures = "private @android.annotation.NonNull java.lang.String mChildData\nclass HierrarchicalDataClassChild extends com.android.codegentest.HierrarchicalDataClassBase implements []\n@com.android.internal.util.DataClass(genParcelable=true, genConstructor=false, genSetters=true)")
    @Deprecated
    @Deprecated
+4 −4
Original line number Original line Diff line number Diff line
@@ -54,7 +54,7 @@ public class ParcelAllTheThingsDataClass implements Parcelable {






    // Code below generated by codegen v1.0.14.
    // Code below generated by codegen v1.0.15.
    //
    //
    // DO NOT MODIFY!
    // DO NOT MODIFY!
    // CHECKSTYLE:OFF Generated code
    // CHECKSTYLE:OFF Generated code
@@ -355,7 +355,7 @@ public class ParcelAllTheThingsDataClass implements Parcelable {
        }
        }


        @DataClass.Generated.Member
        @DataClass.Generated.Member
        public @NonNull Builder setNullableBoolean(@SuppressWarnings({ "WeakerAccess" }) @Nullable Boolean value) {
        public @NonNull Builder setNullableBoolean(@SuppressWarnings({ "WeakerAccess" }) @NonNull Boolean value) {
            checkNotUsed();
            checkNotUsed();
            mBuilderFieldsSet |= 0x80;
            mBuilderFieldsSet |= 0x80;
            mNullableBoolean = value;
            mNullableBoolean = value;
@@ -412,8 +412,8 @@ public class ParcelAllTheThingsDataClass implements Parcelable {
    }
    }


    @DataClass.Generated(
    @DataClass.Generated(
            time = 1574122836960L,
            time = 1582685649678L,
            codegenVersion = "1.0.14",
            codegenVersion = "1.0.15",
            sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/ParcelAllTheThingsDataClass.java",
            sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/ParcelAllTheThingsDataClass.java",
            inputSignatures = " @android.annotation.NonNull java.lang.String[] mStringArray\n @android.annotation.NonNull int[] mIntArray\n @android.annotation.NonNull java.util.List<java.lang.String> mStringList\n @android.annotation.NonNull java.util.Map<java.lang.String,com.android.codegentest.SampleWithCustomBuilder> mMap\n @android.annotation.NonNull java.util.Map<java.lang.String,java.lang.String> mStringMap\n @android.annotation.NonNull android.util.SparseArray<com.android.codegentest.SampleWithCustomBuilder> mSparseArray\n @android.annotation.NonNull android.util.SparseIntArray mSparseIntArray\n @java.lang.SuppressWarnings({\"WeakerAccess\"}) @android.annotation.Nullable java.lang.Boolean mNullableBoolean\nclass ParcelAllTheThingsDataClass extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genBuilder=true, genAidl=false, genToString=true)")
            inputSignatures = " @android.annotation.NonNull java.lang.String[] mStringArray\n @android.annotation.NonNull int[] mIntArray\n @android.annotation.NonNull java.util.List<java.lang.String> mStringList\n @android.annotation.NonNull java.util.Map<java.lang.String,com.android.codegentest.SampleWithCustomBuilder> mMap\n @android.annotation.NonNull java.util.Map<java.lang.String,java.lang.String> mStringMap\n @android.annotation.NonNull android.util.SparseArray<com.android.codegentest.SampleWithCustomBuilder> mSparseArray\n @android.annotation.NonNull android.util.SparseIntArray mSparseIntArray\n @java.lang.SuppressWarnings({\"WeakerAccess\"}) @android.annotation.Nullable java.lang.Boolean mNullableBoolean\nclass ParcelAllTheThingsDataClass extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genBuilder=true, genAidl=false, genToString=true)")
    @Deprecated
    @Deprecated
+18 −18
Original line number Original line Diff line number Diff line
@@ -342,7 +342,7 @@ public final class SampleDataClass implements Parcelable {






    // Code below generated by codegen v1.0.14.
    // Code below generated by codegen v1.0.15.
    //
    //
    // DO NOT MODIFY!
    // DO NOT MODIFY!
    // CHECKSTYLE:OFF Generated code
    // CHECKSTYLE:OFF Generated code
@@ -512,7 +512,7 @@ public final class SampleDataClass implements Parcelable {
            @Nullable LinkAddress[] linkAddresses5,
            @Nullable LinkAddress[] linkAddresses5,
            @StringRes int stringRes,
            @StringRes int stringRes,
            @android.annotation.IntRange(from = 0, to = 6) int dayOfWeek,
            @android.annotation.IntRange(from = 0, to = 6) int dayOfWeek,
            @Size(2) @NonNull @Each @FloatRange(from = 0f) float[] coords) {
            @Size(2) @NonNull @FloatRange(from = 0f) float[] coords) {
        this.mNum = num;
        this.mNum = num;
        this.mNum2 = num2;
        this.mNum2 = num2;
        this.mNum4 = num4;
        this.mNum4 = num4;
@@ -790,7 +790,7 @@ public final class SampleDataClass implements Parcelable {
     * @see AnnotationValidations#validate(Class, Size, int, String, int)
     * @see AnnotationValidations#validate(Class, Size, int, String, int)
     */
     */
    @DataClass.Generated.Member
    @DataClass.Generated.Member
    public @Size(2) @NonNull @Each @FloatRange(from = 0f) float[] getCoords() {
    public @Size(2) @NonNull @FloatRange(from = 0f) float[] getCoords() {
        return mCoords;
        return mCoords;
    }
    }


@@ -855,7 +855,7 @@ public final class SampleDataClass implements Parcelable {
     * {@link Nullable} or {@link NonNull} annotation is required on all non-primitive fields.
     * {@link Nullable} or {@link NonNull} annotation is required on all non-primitive fields.
     */
     */
    @DataClass.Generated.Member
    @DataClass.Generated.Member
    public SampleDataClass setName(@Nullable String value) {
    public SampleDataClass setName(@NonNull String value) {
        mName = value;
        mName = value;
        return this;
        return this;
    }
    }
@@ -892,7 +892,7 @@ public final class SampleDataClass implements Parcelable {
     * E.g. {@link Parcelable} subclasses, {@link String}, {@link int}, {@link boolean}, etc.
     * E.g. {@link Parcelable} subclasses, {@link String}, {@link int}, {@link boolean}, etc.
     */
     */
    @DataClass.Generated.Member
    @DataClass.Generated.Member
    public SampleDataClass setOtherParcelable(@Nullable AccessibilityNodeInfo value) {
    public SampleDataClass setOtherParcelable(@NonNull AccessibilityNodeInfo value) {
        mOtherParcelable = value;
        mOtherParcelable = value;
        return this;
        return this;
    }
    }
@@ -957,7 +957,7 @@ public final class SampleDataClass implements Parcelable {
     * @see Builder#setLinkAddresses4(LinkAddress...)
     * @see Builder#setLinkAddresses4(LinkAddress...)
     */
     */
    @DataClass.Generated.Member
    @DataClass.Generated.Member
    public SampleDataClass setLinkAddresses4(@Nullable LinkAddress... value) {
    public SampleDataClass setLinkAddresses4(@NonNull LinkAddress... value) {
        mLinkAddresses4 = value;
        mLinkAddresses4 = value;
        return this;
        return this;
    }
    }
@@ -1070,7 +1070,7 @@ public final class SampleDataClass implements Parcelable {
     * @see AnnotationValidations#validate(Class, Size, int, String, int)
     * @see AnnotationValidations#validate(Class, Size, int, String, int)
     */
     */
    @DataClass.Generated.Member
    @DataClass.Generated.Member
    public SampleDataClass setCoords(@Size(2) @NonNull @Each @FloatRange(from = 0f) float... value) {
    public SampleDataClass setCoords(@Size(2) @NonNull @FloatRange(from = 0f) float... value) {
        mCoords = value;
        mCoords = value;
        AnnotationValidations.validate(
        AnnotationValidations.validate(
                Size.class, null, mCoords.length,
                Size.class, null, mCoords.length,
@@ -1451,7 +1451,7 @@ public final class SampleDataClass implements Parcelable {
        private @Nullable LinkAddress[] mLinkAddresses5;
        private @Nullable LinkAddress[] mLinkAddresses5;
        private @StringRes int mStringRes;
        private @StringRes int mStringRes;
        private @android.annotation.IntRange(from = 0, to = 6) int mDayOfWeek;
        private @android.annotation.IntRange(from = 0, to = 6) int mDayOfWeek;
        private @Size(2) @NonNull @Each @FloatRange(from = 0f) float[] mCoords;
        private @Size(2) @NonNull @FloatRange(from = 0f) float[] mCoords;


        private long mBuilderFieldsSet = 0L;
        private long mBuilderFieldsSet = 0L;


@@ -1549,7 +1549,7 @@ public final class SampleDataClass implements Parcelable {
         * {@link Nullable} or {@link NonNull} annotation is required on all non-primitive fields.
         * {@link Nullable} or {@link NonNull} annotation is required on all non-primitive fields.
         */
         */
        @DataClass.Generated.Member
        @DataClass.Generated.Member
        public @NonNull Builder setName(@Nullable String value) {
        public @NonNull Builder setName(@NonNull String value) {
            checkNotUsed();
            checkNotUsed();
            mBuilderFieldsSet |= 0x8;
            mBuilderFieldsSet |= 0x8;
            mName = value;
            mName = value;
@@ -1588,7 +1588,7 @@ public final class SampleDataClass implements Parcelable {
         * E.g. {@link Parcelable} subclasses, {@link String}, {@link int}, {@link boolean}, etc.
         * E.g. {@link Parcelable} subclasses, {@link String}, {@link int}, {@link boolean}, etc.
         */
         */
        @DataClass.Generated.Member
        @DataClass.Generated.Member
        public @NonNull Builder setOtherParcelable(@Nullable AccessibilityNodeInfo value) {
        public @NonNull Builder setOtherParcelable(@NonNull AccessibilityNodeInfo value) {
            checkNotUsed();
            checkNotUsed();
            mBuilderFieldsSet |= 0x40;
            mBuilderFieldsSet |= 0x40;
            mOtherParcelable = value;
            mOtherParcelable = value;
@@ -1674,7 +1674,7 @@ public final class SampleDataClass implements Parcelable {
         * @see Builder#setLinkAddresses4(LinkAddress...)
         * @see Builder#setLinkAddresses4(LinkAddress...)
         */
         */
        @DataClass.Generated.Member
        @DataClass.Generated.Member
        public @NonNull Builder setLinkAddresses4(@Nullable LinkAddress... value) {
        public @NonNull Builder setLinkAddresses4(@NonNull LinkAddress... value) {
            checkNotUsed();
            checkNotUsed();
            mBuilderFieldsSet |= 0x800;
            mBuilderFieldsSet |= 0x800;
            mLinkAddresses4 = value;
            mLinkAddresses4 = value;
@@ -1733,7 +1733,7 @@ public final class SampleDataClass implements Parcelable {
         * Final fields suppress generating a setter (when setters are requested).
         * Final fields suppress generating a setter (when setters are requested).
         */
         */
        @DataClass.Generated.Member
        @DataClass.Generated.Member
        public @NonNull Builder setLinkAddresses5(@Nullable LinkAddress... value) {
        public @NonNull Builder setLinkAddresses5(@NonNull LinkAddress... value) {
            checkNotUsed();
            checkNotUsed();
            mBuilderFieldsSet |= 0x10000;
            mBuilderFieldsSet |= 0x10000;
            mLinkAddresses5 = value;
            mLinkAddresses5 = value;
@@ -1785,7 +1785,7 @@ public final class SampleDataClass implements Parcelable {
         * @see AnnotationValidations#validate(Class, Size, int, String, int)
         * @see AnnotationValidations#validate(Class, Size, int, String, int)
         */
         */
        @DataClass.Generated.Member
        @DataClass.Generated.Member
        public @NonNull Builder setCoords(@Size(2) @NonNull @Each @FloatRange(from = 0f) float... value) {
        public @NonNull Builder setCoords(@Size(2) @NonNull @FloatRange(from = 0f) float... value) {
            checkNotUsed();
            checkNotUsed();
            mBuilderFieldsSet |= 0x80000;
            mBuilderFieldsSet |= 0x80000;
            mCoords = value;
            mCoords = value;
@@ -1872,8 +1872,8 @@ public final class SampleDataClass implements Parcelable {
    }
    }


    @DataClass.Generated(
    @DataClass.Generated(
            time = 1574122835009L,
            time = 1582685647656L,
            codegenVersion = "1.0.14",
            codegenVersion = "1.0.15",
            sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleDataClass.java",
            sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleDataClass.java",
            inputSignatures = "public static final  java.lang.String STATE_NAME_UNDEFINED\npublic static final  java.lang.String STATE_NAME_ON\npublic static final  java.lang.String STATE_NAME_OFF\npublic static final  int STATE_UNDEFINED\npublic static final  int STATE_ON\npublic static final  int STATE_OFF\npublic static final @com.android.codegentest.SampleDataClass.RequestFlags int FLAG_MANUAL_REQUEST\npublic static final @com.android.codegentest.SampleDataClass.RequestFlags int FLAG_COMPATIBILITY_MODE_REQUEST\npublic static final @com.android.codegentest.SampleDataClass.RequestFlags int FLAG_AUGMENTED_REQUEST\nprivate  int mNum\nprivate  int mNum2\nprivate  int mNum4\nprivate @android.annotation.Nullable java.lang.String mName\nprivate @android.annotation.NonNull java.lang.String mName2\nprivate @android.annotation.NonNull java.lang.String mName4\nprivate @android.annotation.Nullable android.view.accessibility.AccessibilityNodeInfo mOtherParcelable\nprivate @com.android.internal.util.DataClass.ParcelWith(com.android.codegentest.MyDateParcelling.class) @android.annotation.NonNull java.util.Date mDate\nprivate @com.android.internal.util.DataClass.ParcelWith(com.android.internal.util.Parcelling.BuiltIn.ForPattern.class) @android.annotation.NonNull java.util.regex.Pattern mPattern\nprivate @android.annotation.NonNull java.util.List<android.net.LinkAddress> mLinkAddresses2\nprivate @com.android.internal.util.DataClass.PluralOf(\"linkAddress\") @android.annotation.NonNull java.util.ArrayList<android.net.LinkAddress> mLinkAddresses\nprivate @android.annotation.Nullable android.net.LinkAddress[] mLinkAddresses4\nprivate @com.android.codegentest.SampleDataClass.StateName @android.annotation.NonNull java.lang.String mStateName\nprivate @com.android.codegentest.SampleDataClass.RequestFlags int mFlags\nprivate @com.android.codegentest.SampleDataClass.State int mState\npublic @android.annotation.NonNull java.lang.CharSequence charSeq\nprivate final @android.annotation.Nullable android.net.LinkAddress[] mLinkAddresses5\nprivate transient  android.net.LinkAddress[] mLinkAddresses6\ntransient  int[] mTmpStorage\nprivate @android.annotation.StringRes int mStringRes\nprivate @android.annotation.IntRange(from=0L, to=6L) int mDayOfWeek\nprivate @android.annotation.Size(2L) @android.annotation.NonNull @com.android.internal.util.DataClass.Each @android.annotation.FloatRange(from=0.0) float[] mCoords\nprivate static  java.lang.String defaultName4()\nprivate  int[] lazyInitTmpStorage()\npublic  android.net.LinkAddress[] getLinkAddresses4()\nprivate  boolean patternEquals(java.util.regex.Pattern)\nprivate  int patternHashCode()\nprivate  void onConstructed()\npublic  void dump(java.io.PrintWriter)\nclass SampleDataClass extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genBuilder=true, genConstructor=true, genEqualsHashCode=true, genToString=true, genForEachField=true, genSetters=true)")
            inputSignatures = "public static final  java.lang.String STATE_NAME_UNDEFINED\npublic static final  java.lang.String STATE_NAME_ON\npublic static final  java.lang.String STATE_NAME_OFF\npublic static final  int STATE_UNDEFINED\npublic static final  int STATE_ON\npublic static final  int STATE_OFF\npublic static final @com.android.codegentest.SampleDataClass.RequestFlags int FLAG_MANUAL_REQUEST\npublic static final @com.android.codegentest.SampleDataClass.RequestFlags int FLAG_COMPATIBILITY_MODE_REQUEST\npublic static final @com.android.codegentest.SampleDataClass.RequestFlags int FLAG_AUGMENTED_REQUEST\nprivate  int mNum\nprivate  int mNum2\nprivate  int mNum4\nprivate @android.annotation.Nullable java.lang.String mName\nprivate @android.annotation.NonNull java.lang.String mName2\nprivate @android.annotation.NonNull java.lang.String mName4\nprivate @android.annotation.Nullable android.view.accessibility.AccessibilityNodeInfo mOtherParcelable\nprivate @com.android.internal.util.DataClass.ParcelWith(com.android.codegentest.MyDateParcelling.class) @android.annotation.NonNull java.util.Date mDate\nprivate @com.android.internal.util.DataClass.ParcelWith(com.android.internal.util.Parcelling.BuiltIn.ForPattern.class) @android.annotation.NonNull java.util.regex.Pattern mPattern\nprivate @android.annotation.NonNull java.util.List<android.net.LinkAddress> mLinkAddresses2\nprivate @com.android.internal.util.DataClass.PluralOf(\"linkAddress\") @android.annotation.NonNull java.util.ArrayList<android.net.LinkAddress> mLinkAddresses\nprivate @android.annotation.Nullable android.net.LinkAddress[] mLinkAddresses4\nprivate @com.android.codegentest.SampleDataClass.StateName @android.annotation.NonNull java.lang.String mStateName\nprivate @com.android.codegentest.SampleDataClass.RequestFlags int mFlags\nprivate @com.android.codegentest.SampleDataClass.State int mState\npublic @android.annotation.NonNull java.lang.CharSequence charSeq\nprivate final @android.annotation.Nullable android.net.LinkAddress[] mLinkAddresses5\nprivate transient  android.net.LinkAddress[] mLinkAddresses6\ntransient  int[] mTmpStorage\nprivate @android.annotation.StringRes int mStringRes\nprivate @android.annotation.IntRange(from=0L, to=6L) int mDayOfWeek\nprivate @android.annotation.Size(2L) @android.annotation.NonNull @com.android.internal.util.DataClass.Each @android.annotation.FloatRange(from=0.0) float[] mCoords\nprivate static  java.lang.String defaultName4()\nprivate  int[] lazyInitTmpStorage()\npublic  android.net.LinkAddress[] getLinkAddresses4()\nprivate  boolean patternEquals(java.util.regex.Pattern)\nprivate  int patternHashCode()\nprivate  void onConstructed()\npublic  void dump(java.io.PrintWriter)\nclass SampleDataClass extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genBuilder=true, genConstructor=true, genEqualsHashCode=true, genToString=true, genForEachField=true, genSetters=true)")
    @Deprecated
    @Deprecated
Loading