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
This commit is contained in:
@@ -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;
|
||||
@@ -242,6 +248,13 @@ public @interface DataClass {
|
||||
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}.
|
||||
*
|
||||
|
||||
@@ -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!
|
||||
// CHECKSTYLE:OFF Generated code
|
||||
@@ -51,7 +51,7 @@ public class HierrarchicalDataClassBase implements Parcelable {
|
||||
}
|
||||
|
||||
@DataClass.Generated.Member
|
||||
public HierrarchicalDataClassBase setBaseData(int value) {
|
||||
public HierrarchicalDataClassBase setBaseData( int value) {
|
||||
mBaseData = value;
|
||||
return this;
|
||||
}
|
||||
@@ -98,8 +98,8 @@ public class HierrarchicalDataClassBase implements Parcelable {
|
||||
};
|
||||
|
||||
@DataClass.Generated(
|
||||
time = 1574122837821L,
|
||||
codegenVersion = "1.0.14",
|
||||
time = 1582685650576L,
|
||||
codegenVersion = "1.0.15",
|
||||
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)")
|
||||
@Deprecated
|
||||
|
||||
@@ -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!
|
||||
// CHECKSTYLE:OFF Generated code
|
||||
@@ -120,8 +120,8 @@ public class HierrarchicalDataClassChild extends HierrarchicalDataClassBase {
|
||||
};
|
||||
|
||||
@DataClass.Generated(
|
||||
time = 1574122838768L,
|
||||
codegenVersion = "1.0.14",
|
||||
time = 1582685651560L,
|
||||
codegenVersion = "1.0.15",
|
||||
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)")
|
||||
@Deprecated
|
||||
|
||||
@@ -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!
|
||||
// CHECKSTYLE:OFF Generated code
|
||||
@@ -355,7 +355,7 @@ public class ParcelAllTheThingsDataClass implements Parcelable {
|
||||
}
|
||||
|
||||
@DataClass.Generated.Member
|
||||
public @NonNull Builder setNullableBoolean(@SuppressWarnings({ "WeakerAccess" }) @Nullable Boolean value) {
|
||||
public @NonNull Builder setNullableBoolean(@SuppressWarnings({ "WeakerAccess" }) @NonNull Boolean value) {
|
||||
checkNotUsed();
|
||||
mBuilderFieldsSet |= 0x80;
|
||||
mNullableBoolean = value;
|
||||
@@ -412,8 +412,8 @@ public class ParcelAllTheThingsDataClass implements Parcelable {
|
||||
}
|
||||
|
||||
@DataClass.Generated(
|
||||
time = 1574122836960L,
|
||||
codegenVersion = "1.0.14",
|
||||
time = 1582685649678L,
|
||||
codegenVersion = "1.0.15",
|
||||
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)")
|
||||
@Deprecated
|
||||
|
||||
@@ -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!
|
||||
// CHECKSTYLE:OFF Generated code
|
||||
@@ -512,7 +512,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
@Nullable LinkAddress[] linkAddresses5,
|
||||
@StringRes int stringRes,
|
||||
@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.mNum2 = num2;
|
||||
this.mNum4 = num4;
|
||||
@@ -790,7 +790,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* @see AnnotationValidations#validate(Class, Size, int, String, int)
|
||||
*/
|
||||
@DataClass.Generated.Member
|
||||
public @Size(2) @NonNull @Each @FloatRange(from = 0f) float[] getCoords() {
|
||||
public @Size(2) @NonNull @FloatRange(from = 0f) float[] getCoords() {
|
||||
return mCoords;
|
||||
}
|
||||
|
||||
@@ -820,7 +820,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* pieces in multiple places for each field.
|
||||
*/
|
||||
@DataClass.Generated.Member
|
||||
public SampleDataClass setNum(int value) {
|
||||
public SampleDataClass setNum( int value) {
|
||||
mNum = value;
|
||||
return this;
|
||||
}
|
||||
@@ -832,7 +832,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* @see #mNum2 ..and so should blocks at the bottom, e.g. {@code @see} blocks.
|
||||
*/
|
||||
@DataClass.Generated.Member
|
||||
public SampleDataClass setNum2(int value) {
|
||||
public SampleDataClass setNum2( int value) {
|
||||
mNum2 = value;
|
||||
return this;
|
||||
}
|
||||
@@ -846,7 +846,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* @hide
|
||||
*/
|
||||
@DataClass.Generated.Member
|
||||
public SampleDataClass setNum4(int value) {
|
||||
public SampleDataClass setNum4( int value) {
|
||||
mNum4 = value;
|
||||
return this;
|
||||
}
|
||||
@@ -855,7 +855,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* {@link Nullable} or {@link NonNull} annotation is required on all non-primitive fields.
|
||||
*/
|
||||
@DataClass.Generated.Member
|
||||
public SampleDataClass setName(@Nullable String value) {
|
||||
public SampleDataClass setName(@NonNull String value) {
|
||||
mName = value;
|
||||
return this;
|
||||
}
|
||||
@@ -892,7 +892,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* E.g. {@link Parcelable} subclasses, {@link String}, {@link int}, {@link boolean}, etc.
|
||||
*/
|
||||
@DataClass.Generated.Member
|
||||
public SampleDataClass setOtherParcelable(@Nullable AccessibilityNodeInfo value) {
|
||||
public SampleDataClass setOtherParcelable(@NonNull AccessibilityNodeInfo value) {
|
||||
mOtherParcelable = value;
|
||||
return this;
|
||||
}
|
||||
@@ -957,7 +957,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* @see Builder#setLinkAddresses4(LinkAddress...)
|
||||
*/
|
||||
@DataClass.Generated.Member
|
||||
public SampleDataClass setLinkAddresses4(@Nullable LinkAddress... value) {
|
||||
public SampleDataClass setLinkAddresses4(@NonNull LinkAddress... value) {
|
||||
mLinkAddresses4 = value;
|
||||
return this;
|
||||
}
|
||||
@@ -1070,7 +1070,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* @see AnnotationValidations#validate(Class, Size, int, String, int)
|
||||
*/
|
||||
@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;
|
||||
AnnotationValidations.validate(
|
||||
Size.class, null, mCoords.length,
|
||||
@@ -1451,7 +1451,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
private @Nullable LinkAddress[] mLinkAddresses5;
|
||||
private @StringRes int mStringRes;
|
||||
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;
|
||||
|
||||
@@ -1549,7 +1549,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* {@link Nullable} or {@link NonNull} annotation is required on all non-primitive fields.
|
||||
*/
|
||||
@DataClass.Generated.Member
|
||||
public @NonNull Builder setName(@Nullable String value) {
|
||||
public @NonNull Builder setName(@NonNull String value) {
|
||||
checkNotUsed();
|
||||
mBuilderFieldsSet |= 0x8;
|
||||
mName = value;
|
||||
@@ -1588,7 +1588,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* E.g. {@link Parcelable} subclasses, {@link String}, {@link int}, {@link boolean}, etc.
|
||||
*/
|
||||
@DataClass.Generated.Member
|
||||
public @NonNull Builder setOtherParcelable(@Nullable AccessibilityNodeInfo value) {
|
||||
public @NonNull Builder setOtherParcelable(@NonNull AccessibilityNodeInfo value) {
|
||||
checkNotUsed();
|
||||
mBuilderFieldsSet |= 0x40;
|
||||
mOtherParcelable = value;
|
||||
@@ -1674,7 +1674,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* @see Builder#setLinkAddresses4(LinkAddress...)
|
||||
*/
|
||||
@DataClass.Generated.Member
|
||||
public @NonNull Builder setLinkAddresses4(@Nullable LinkAddress... value) {
|
||||
public @NonNull Builder setLinkAddresses4(@NonNull LinkAddress... value) {
|
||||
checkNotUsed();
|
||||
mBuilderFieldsSet |= 0x800;
|
||||
mLinkAddresses4 = value;
|
||||
@@ -1733,7 +1733,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* Final fields suppress generating a setter (when setters are requested).
|
||||
*/
|
||||
@DataClass.Generated.Member
|
||||
public @NonNull Builder setLinkAddresses5(@Nullable LinkAddress... value) {
|
||||
public @NonNull Builder setLinkAddresses5(@NonNull LinkAddress... value) {
|
||||
checkNotUsed();
|
||||
mBuilderFieldsSet |= 0x10000;
|
||||
mLinkAddresses5 = value;
|
||||
@@ -1785,7 +1785,7 @@ public final class SampleDataClass implements Parcelable {
|
||||
* @see AnnotationValidations#validate(Class, Size, int, String, int)
|
||||
*/
|
||||
@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();
|
||||
mBuilderFieldsSet |= 0x80000;
|
||||
mCoords = value;
|
||||
@@ -1872,8 +1872,8 @@ public final class SampleDataClass implements Parcelable {
|
||||
}
|
||||
|
||||
@DataClass.Generated(
|
||||
time = 1574122835009L,
|
||||
codegenVersion = "1.0.14",
|
||||
time = 1582685647656L,
|
||||
codegenVersion = "1.0.15",
|
||||
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)")
|
||||
@Deprecated
|
||||
|
||||
@@ -85,7 +85,7 @@ public class SampleWithCustomBuilder implements Parcelable {
|
||||
|
||||
|
||||
|
||||
// Code below generated by codegen v1.0.14.
|
||||
// Code below generated by codegen v1.0.15.
|
||||
//
|
||||
// DO NOT MODIFY!
|
||||
// CHECKSTYLE:OFF Generated code
|
||||
@@ -253,8 +253,8 @@ public class SampleWithCustomBuilder implements Parcelable {
|
||||
}
|
||||
|
||||
@DataClass.Generated(
|
||||
time = 1574122835982L,
|
||||
codegenVersion = "1.0.14",
|
||||
time = 1582685648622L,
|
||||
codegenVersion = "1.0.15",
|
||||
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleWithCustomBuilder.java",
|
||||
inputSignatures = " long delayAmount\n @android.annotation.NonNull java.util.concurrent.TimeUnit delayUnit\n long creationTimestamp\nprivate static java.util.concurrent.TimeUnit unparcelDelayUnit(android.os.Parcel)\nprivate void parcelDelayUnit(android.os.Parcel,int)\nclass SampleWithCustomBuilder extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genBuilder=true, genAidl=false, genToString=true)\nabstract com.android.codegentest.SampleWithCustomBuilder.Builder setDelayAmount(long)\npublic abstract com.android.codegentest.SampleWithCustomBuilder.Builder setDelayUnit(java.util.concurrent.TimeUnit)\npublic com.android.codegentest.SampleWithCustomBuilder.Builder setDelay(long,java.util.concurrent.TimeUnit)\nclass BaseBuilder extends java.lang.Object implements []")
|
||||
@Deprecated
|
||||
|
||||
@@ -36,7 +36,7 @@ public class SampleWithNestedDataClasses {
|
||||
|
||||
|
||||
|
||||
// Code below generated by codegen v1.0.14.
|
||||
// Code below generated by codegen v1.0.15.
|
||||
//
|
||||
// DO NOT MODIFY!
|
||||
// CHECKSTYLE:OFF Generated code
|
||||
@@ -135,8 +135,8 @@ public class SampleWithNestedDataClasses {
|
||||
};
|
||||
|
||||
@DataClass.Generated(
|
||||
time = 1574122840588L,
|
||||
codegenVersion = "1.0.14",
|
||||
time = 1582685653406L,
|
||||
codegenVersion = "1.0.15",
|
||||
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleWithNestedDataClasses.java",
|
||||
inputSignatures = " @android.annotation.NonNull java.lang.String mBar\nclass NestedDataClass extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true)")
|
||||
@Deprecated
|
||||
@@ -160,7 +160,7 @@ public class SampleWithNestedDataClasses {
|
||||
|
||||
|
||||
|
||||
// Code below generated by codegen v1.0.14.
|
||||
// Code below generated by codegen v1.0.15.
|
||||
//
|
||||
// DO NOT MODIFY!
|
||||
// CHECKSTYLE:OFF Generated code
|
||||
@@ -259,8 +259,8 @@ public class SampleWithNestedDataClasses {
|
||||
};
|
||||
|
||||
@DataClass.Generated(
|
||||
time = 1574122840597L,
|
||||
codegenVersion = "1.0.14",
|
||||
time = 1582685653415L,
|
||||
codegenVersion = "1.0.15",
|
||||
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleWithNestedDataClasses.java",
|
||||
inputSignatures = " @android.annotation.NonNull long mBaz2\nclass NestedDataClass3 extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true)")
|
||||
@Deprecated
|
||||
@@ -274,7 +274,7 @@ public class SampleWithNestedDataClasses {
|
||||
|
||||
|
||||
|
||||
// Code below generated by codegen v1.0.14.
|
||||
// Code below generated by codegen v1.0.15.
|
||||
//
|
||||
// DO NOT MODIFY!
|
||||
// CHECKSTYLE:OFF Generated code
|
||||
@@ -373,8 +373,8 @@ public class SampleWithNestedDataClasses {
|
||||
};
|
||||
|
||||
@DataClass.Generated(
|
||||
time = 1574122840608L,
|
||||
codegenVersion = "1.0.14",
|
||||
time = 1582685653420L,
|
||||
codegenVersion = "1.0.15",
|
||||
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleWithNestedDataClasses.java",
|
||||
inputSignatures = " @android.annotation.NonNull java.lang.String mBaz\nclass NestedDataClass2 extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true)")
|
||||
@Deprecated
|
||||
|
||||
@@ -51,7 +51,7 @@ public class StaleDataclassDetectorFalsePositivesTest {
|
||||
|
||||
|
||||
|
||||
// Code below generated by codegen v1.0.14.
|
||||
// Code below generated by codegen v1.0.15.
|
||||
//
|
||||
// DO NOT MODIFY!
|
||||
// CHECKSTYLE:OFF Generated code
|
||||
@@ -65,8 +65,8 @@ public class StaleDataclassDetectorFalsePositivesTest {
|
||||
|
||||
|
||||
@DataClass.Generated(
|
||||
time = 1574122839646L,
|
||||
codegenVersion = "1.0.14",
|
||||
time = 1582685652436L,
|
||||
codegenVersion = "1.0.15",
|
||||
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/StaleDataclassDetectorFalsePositivesTest.java",
|
||||
inputSignatures = "public @android.annotation.NonNull java.lang.String someMethod(int)\nclass StaleDataclassDetectorFalsePositivesTest extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genConstructor=false, genBuilder=false)")
|
||||
@Deprecated
|
||||
|
||||
@@ -100,7 +100,7 @@ class ClassPrinter(
|
||||
?: emptyMap()
|
||||
|
||||
val internalAnnotations = setOf(ParcelWith, DataClassEnum, PluralOf, UnsupportedAppUsage,
|
||||
DataClassSuppressConstDefs)
|
||||
DataClassSuppressConstDefs, MaySetToNull, Each, DataClass)
|
||||
val knownNonValidationAnnotations = internalAnnotations + Each + Nullable
|
||||
|
||||
/**
|
||||
|
||||
@@ -147,9 +147,19 @@ data class FieldInfo(
|
||||
val sParcelling by lazy { customParcellingClass?.let { "sParcellingFor$NameUpperCamel" } }
|
||||
|
||||
val SetterParamType = if (isArray) "$FieldInnerType..." else Type
|
||||
val annotatedTypeForSetterParam by lazy {
|
||||
(annotationsNoInternal + SetterParamType).joinToString(" ")
|
||||
val annotationsForSetterParam by lazy {
|
||||
buildList<String> {
|
||||
addAll(annotationsNoInternal)
|
||||
classPrinter {
|
||||
if ("@$Nullable" in annotations
|
||||
&& "@$MaySetToNull" !in annotations) {
|
||||
remove("@$Nullable")
|
||||
add("@$NonNull")
|
||||
}
|
||||
}
|
||||
}.joinToString(" ")
|
||||
}
|
||||
val annotatedTypeForSetterParam by lazy { "$annotationsForSetterParam $SetterParamType" }
|
||||
|
||||
// Utilities
|
||||
|
||||
|
||||
@@ -315,7 +315,7 @@ private fun ClassPrinter.generateBuilderSetters(visibility: String) {
|
||||
generateBuilderMethod(
|
||||
name = setterName,
|
||||
defVisibility = visibility,
|
||||
paramAnnotations = annotationsNoInternal.joinToString(" "),
|
||||
paramAnnotations = annotationsForSetterParam,
|
||||
paramTypes = listOf(SetterParamType),
|
||||
genJavadoc = { generateFieldJavadoc() }) {
|
||||
+"checkNotUsed();"
|
||||
|
||||
@@ -39,6 +39,7 @@ interface ImportsProvider {
|
||||
val ParcelWith: String get() { return classRef("com.android.internal.util.DataClass.ParcelWith") }
|
||||
val PluralOf: String get() { return classRef("com.android.internal.util.DataClass.PluralOf") }
|
||||
val Each: String get() { return classRef("com.android.internal.util.DataClass.Each") }
|
||||
val MaySetToNull: String get() { return classRef("com.android.internal.util.DataClass.MaySetToNull") }
|
||||
val DataClassGenerated: String get() { return classRef("com.android.internal.util.DataClass.Generated") }
|
||||
val DataClassSuppressConstDefs: String get() { return classRef("com.android.internal.util.DataClass.SuppressConstDefsGeneration") }
|
||||
val DataClassSuppress: String get() { return classRef("com.android.internal.util.DataClass.Suppress") }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.android.codegen
|
||||
|
||||
const val CODEGEN_NAME = "codegen"
|
||||
const val CODEGEN_VERSION = "1.0.14"
|
||||
const val CODEGEN_VERSION = "1.0.15"
|
||||
|
||||
const val CANONICAL_BUILDER_CLASS = "Builder"
|
||||
const val BASE_BUILDER_CLASS = "BaseBuilder"
|
||||
|
||||
Reference in New Issue
Block a user