Add @NonNull to some generated methods' args

Test: . frameworks/base/tests/Codegen/runTest.sh
Fixes: 142783758
Change-Id: I7303d420efd59389c324b3e399fcb3532b5d6c37
This commit is contained in:
Eugene Susla
2019-10-16 10:12:47 -07:00
parent 8357dd73ae
commit 1bfb5e7097
10 changed files with 96 additions and 70 deletions

View File

@@ -4481,7 +4481,7 @@ package android.app {
method @IntRange(from=0) public int getNotingUid();
method @NonNull public String getOp();
method @IntRange(from=0) public long getTime();
method public void writeToParcel(android.os.Parcel, int);
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.app.AsyncNotedAppOp> CREATOR;
}

View File

@@ -66,14 +66,18 @@ public final class AsyncNotedAppOp implements Parcelable {
// Code below generated by codegen v1.0.0.
// Code below generated by codegen v1.0.9.
//
// DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code
//
// To regenerate run:
// $ codegen $ANDROID_BUILD_TOP/frameworks/base/core/java/android/app/AsyncNotedAppOp.java
//
// CHECKSTYLE:OFF Generated code
// To exclude the generated code from IntelliJ auto-formatting enable (one-time):
// Settings > Editor > Code Style > Formatter Control
//@formatter:off
/**
* Creates a new AsyncNotedAppOp.
@@ -83,7 +87,8 @@ public final class AsyncNotedAppOp implements Parcelable {
* @param notingUid
* Uid that noted the op
* @param notingPackageName
* Package that noted the op
* Package that noted the op. {@code null} if the package name that noted the op could be not
* be determined (e.g. when the op is noted from native code).
* @param message
* Message associated with the noteOp. This message is set by the app noting the op
* @param time
@@ -127,7 +132,8 @@ public final class AsyncNotedAppOp implements Parcelable {
}
/**
* Package that noted the op
* Package that noted the op. {@code null} if the package name that noted the op could be not
* be determined (e.g. when the op is noted from native code).
*/
@DataClass.Generated.Member
public @Nullable String getNotingPackageName() {
@@ -152,7 +158,7 @@ public final class AsyncNotedAppOp implements Parcelable {
@Override
@DataClass.Generated.Member
public boolean equals(Object o) {
public boolean equals(@Nullable Object o) {
// You can override field equality logic by defining either of the methods like:
// boolean fieldNameEquals(AsyncNotedAppOp other) { ... }
// boolean fieldNameEquals(FieldType otherValue) { ... }
@@ -187,7 +193,7 @@ public final class AsyncNotedAppOp implements Parcelable {
@Override
@DataClass.Generated.Member
public void writeToParcel(android.os.Parcel dest, int flags) {
public void writeToParcel(@NonNull android.os.Parcel dest, int flags) {
// You can override field parcelling by defining methods like:
// void parcelFieldName(Parcel dest, int flags) { ... }
@@ -205,6 +211,41 @@ public final class AsyncNotedAppOp implements Parcelable {
@DataClass.Generated.Member
public int describeContents() { return 0; }
/** @hide */
@SuppressWarnings({"unchecked", "RedundantCast"})
@DataClass.Generated.Member
/* package-private */ AsyncNotedAppOp(@NonNull android.os.Parcel in) {
// You can override field unparcelling by defining methods like:
// static FieldType unparcelFieldName(Parcel in) { ... }
byte flg = in.readByte();
int opCode = in.readInt();
int notingUid = in.readInt();
String notingPackageName = (flg & 0x4) == 0 ? null : in.readString();
String message = in.readString();
long time = in.readLong();
this.mOpCode = opCode;
com.android.internal.util.AnnotationValidations.validate(
IntRange.class, null, mOpCode,
"from", 0,
"to", AppOpsManager._NUM_OP - 1);
this.mNotingUid = notingUid;
com.android.internal.util.AnnotationValidations.validate(
IntRange.class, null, mNotingUid,
"from", 0);
this.mNotingPackageName = notingPackageName;
this.mMessage = message;
com.android.internal.util.AnnotationValidations.validate(
NonNull.class, null, mMessage);
this.mTime = time;
com.android.internal.util.AnnotationValidations.validate(
IntRange.class, null, mTime,
"from", 0);
// onConstructed(); // You can define this method to get a callback
}
@DataClass.Generated.Member
public static final @NonNull Parcelable.Creator<AsyncNotedAppOp> CREATOR
= new Parcelable.Creator<AsyncNotedAppOp>() {
@@ -214,29 +255,14 @@ public final class AsyncNotedAppOp implements Parcelable {
}
@Override
@SuppressWarnings({"unchecked", "RedundantCast"})
public AsyncNotedAppOp createFromParcel(android.os.Parcel in) {
// You can override field unparcelling by defining methods like:
// static FieldType unparcelFieldName(Parcel in) { ... }
byte flg = in.readByte();
int opCode = in.readInt();
int notingUid = in.readInt();
String notingPackageName = (flg & 0x4) == 0 ? null : in.readString();
String message = in.readString();
long time = in.readLong();
return new AsyncNotedAppOp(
opCode,
notingUid,
notingPackageName,
message,
time);
public AsyncNotedAppOp createFromParcel(@NonNull android.os.Parcel in) {
return new AsyncNotedAppOp(in);
}
};
@DataClass.Generated(
time = 1566503083973L,
codegenVersion = "1.0.0",
time = 1571246617363L,
codegenVersion = "1.0.9",
sourceFile = "frameworks/base/core/java/android/app/AsyncNotedAppOp.java",
inputSignatures = "private final @android.annotation.IntRange(from=0L, to=91L) int mOpCode\nprivate final @android.annotation.IntRange(from=0L) int mNotingUid\nprivate final @android.annotation.Nullable java.lang.String mNotingPackageName\nprivate final @android.annotation.NonNull java.lang.String mMessage\nprivate final @android.annotation.IntRange(from=0L) long mTime\npublic @android.annotation.NonNull java.lang.String getOp()\nclass AsyncNotedAppOp extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genAidl=true, genHiddenConstructor=true)")
@Deprecated

View File

@@ -32,7 +32,7 @@ public class HierrarchicalDataClassBase implements Parcelable {
// Code below generated by codegen v1.0.8.
// Code below generated by codegen v1.0.9.
//
// DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code
@@ -58,7 +58,7 @@ public class HierrarchicalDataClassBase implements Parcelable {
@Override
@DataClass.Generated.Member
public void writeToParcel(android.os.Parcel dest, int flags) {
public void writeToParcel(@android.annotation.NonNull android.os.Parcel dest, int flags) {
// You can override field parcelling by defining methods like:
// void parcelFieldName(Parcel dest, int flags) { ... }
@@ -72,7 +72,7 @@ public class HierrarchicalDataClassBase implements Parcelable {
/** @hide */
@SuppressWarnings({"unchecked", "RedundantCast"})
@DataClass.Generated.Member
protected HierrarchicalDataClassBase(android.os.Parcel in) {
protected HierrarchicalDataClassBase(@android.annotation.NonNull android.os.Parcel in) {
// You can override field unparcelling by defining methods like:
// static FieldType unparcelFieldName(Parcel in) { ... }
@@ -92,14 +92,14 @@ public class HierrarchicalDataClassBase implements Parcelable {
}
@Override
public HierrarchicalDataClassBase createFromParcel(android.os.Parcel in) {
public HierrarchicalDataClassBase createFromParcel(@android.annotation.NonNull android.os.Parcel in) {
return new HierrarchicalDataClassBase(in);
}
};
@DataClass.Generated(
time = 1570828332402L,
codegenVersion = "1.0.8",
time = 1571258914826L,
codegenVersion = "1.0.9",
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

View File

@@ -46,7 +46,7 @@ public class HierrarchicalDataClassChild extends HierrarchicalDataClassBase {
// Code below generated by codegen v1.0.8.
// Code below generated by codegen v1.0.9.
//
// DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code
@@ -74,7 +74,7 @@ public class HierrarchicalDataClassChild extends HierrarchicalDataClassBase {
@Override
@DataClass.Generated.Member
public void writeToParcel(android.os.Parcel dest, int flags) {
public void writeToParcel(@NonNull android.os.Parcel dest, int flags) {
// You can override field parcelling by defining methods like:
// void parcelFieldName(Parcel dest, int flags) { ... }
@@ -90,7 +90,7 @@ public class HierrarchicalDataClassChild extends HierrarchicalDataClassBase {
/** @hide */
@SuppressWarnings({"unchecked", "RedundantCast"})
@DataClass.Generated.Member
protected HierrarchicalDataClassChild(android.os.Parcel in) {
protected HierrarchicalDataClassChild(@NonNull android.os.Parcel in) {
// You can override field unparcelling by defining methods like:
// static FieldType unparcelFieldName(Parcel in) { ... }
@@ -114,14 +114,14 @@ public class HierrarchicalDataClassChild extends HierrarchicalDataClassBase {
}
@Override
public HierrarchicalDataClassChild createFromParcel(android.os.Parcel in) {
public HierrarchicalDataClassChild createFromParcel(@NonNull android.os.Parcel in) {
return new HierrarchicalDataClassChild(in);
}
};
@DataClass.Generated(
time = 1570828333399L,
codegenVersion = "1.0.8",
time = 1571258915848L,
codegenVersion = "1.0.9",
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

View File

@@ -52,7 +52,7 @@ public class ParcelAllTheThingsDataClass implements Parcelable {
// Code below generated by codegen v1.0.8.
// Code below generated by codegen v1.0.9.
//
// DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code
@@ -161,7 +161,7 @@ public class ParcelAllTheThingsDataClass implements Parcelable {
@Override
@DataClass.Generated.Member
public void writeToParcel(Parcel dest, int flags) {
public void writeToParcel(@NonNull Parcel dest, int flags) {
// You can override field parcelling by defining methods like:
// void parcelFieldName(Parcel dest, int flags) { ... }
@@ -185,7 +185,7 @@ public class ParcelAllTheThingsDataClass implements Parcelable {
/** @hide */
@SuppressWarnings({"unchecked", "RedundantCast"})
@DataClass.Generated.Member
protected ParcelAllTheThingsDataClass(Parcel in) {
protected ParcelAllTheThingsDataClass(@NonNull Parcel in) {
// You can override field unparcelling by defining methods like:
// static FieldType unparcelFieldName(Parcel in) { ... }
@@ -237,7 +237,7 @@ public class ParcelAllTheThingsDataClass implements Parcelable {
}
@Override
public ParcelAllTheThingsDataClass createFromParcel(Parcel in) {
public ParcelAllTheThingsDataClass createFromParcel(@NonNull Parcel in) {
return new ParcelAllTheThingsDataClass(in);
}
};
@@ -410,8 +410,8 @@ public class ParcelAllTheThingsDataClass implements Parcelable {
}
@DataClass.Generated(
time = 1570828331396L,
codegenVersion = "1.0.8",
time = 1571258913802L,
codegenVersion = "1.0.9",
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

View File

@@ -342,7 +342,7 @@ public final class SampleDataClass implements Parcelable {
// Code below generated by codegen v1.0.8.
// Code below generated by codegen v1.0.9.
//
// DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code
@@ -1119,7 +1119,7 @@ public final class SampleDataClass implements Parcelable {
@Override
@DataClass.Generated.Member
public boolean equals(Object o) {
public boolean equals(@Nullable Object o) {
// You can override field equality logic by defining either of the methods like:
// boolean fieldNameEquals(SampleDataClass other) { ... }
// boolean fieldNameEquals(FieldType otherValue) { ... }
@@ -1184,8 +1184,8 @@ public final class SampleDataClass implements Parcelable {
@DataClass.Generated.Member
void forEachField(
DataClass.PerIntFieldAction<SampleDataClass> actionInt,
DataClass.PerObjectFieldAction<SampleDataClass> actionObject) {
@NonNull DataClass.PerIntFieldAction<SampleDataClass> actionInt,
@NonNull DataClass.PerObjectFieldAction<SampleDataClass> actionObject) {
actionInt.acceptInt(this, "num", mNum);
actionInt.acceptInt(this, "num2", mNum2);
actionInt.acceptInt(this, "num4", mNum4);
@@ -1211,7 +1211,7 @@ public final class SampleDataClass implements Parcelable {
/** @deprecated May cause boxing allocations - use with caution! */
@Deprecated
@DataClass.Generated.Member
void forEachField(DataClass.PerObjectFieldAction<SampleDataClass> action) {
void forEachField(@NonNull DataClass.PerObjectFieldAction<SampleDataClass> action) {
action.acceptObject(this, "num", mNum);
action.acceptObject(this, "num2", mNum2);
action.acceptObject(this, "num4", mNum4);
@@ -1258,7 +1258,7 @@ public final class SampleDataClass implements Parcelable {
@Override
@DataClass.Generated.Member
public void writeToParcel(Parcel dest, int flags) {
public void writeToParcel(@NonNull Parcel dest, int flags) {
// You can override field parcelling by defining methods like:
// void parcelFieldName(Parcel dest, int flags) { ... }
@@ -1297,7 +1297,7 @@ public final class SampleDataClass implements Parcelable {
/** @hide */
@SuppressWarnings({"unchecked", "RedundantCast"})
@DataClass.Generated.Member
/* package-private */ SampleDataClass(Parcel in) {
/* package-private */ SampleDataClass(@NonNull Parcel in) {
// You can override field unparcelling by defining methods like:
// static FieldType unparcelFieldName(Parcel in) { ... }
@@ -1420,7 +1420,7 @@ public final class SampleDataClass implements Parcelable {
}
@Override
public SampleDataClass createFromParcel(Parcel in) {
public SampleDataClass createFromParcel(@NonNull Parcel in) {
return new SampleDataClass(in);
}
};
@@ -1872,8 +1872,8 @@ public final class SampleDataClass implements Parcelable {
}
@DataClass.Generated(
time = 1570828329319L,
codegenVersion = "1.0.8",
time = 1571258911688L,
codegenVersion = "1.0.9",
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

View File

@@ -85,7 +85,7 @@ public class SampleWithCustomBuilder implements Parcelable {
// Code below generated by codegen v1.0.8.
// Code below generated by codegen v1.0.9.
//
// DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code
@@ -142,7 +142,7 @@ public class SampleWithCustomBuilder implements Parcelable {
@Override
@DataClass.Generated.Member
public void writeToParcel(Parcel dest, int flags) {
public void writeToParcel(@NonNull Parcel dest, int flags) {
// You can override field parcelling by defining methods like:
// void parcelFieldName(Parcel dest, int flags) { ... }
@@ -158,7 +158,7 @@ public class SampleWithCustomBuilder implements Parcelable {
/** @hide */
@SuppressWarnings({"unchecked", "RedundantCast"})
@DataClass.Generated.Member
protected SampleWithCustomBuilder(Parcel in) {
protected SampleWithCustomBuilder(@NonNull Parcel in) {
// You can override field unparcelling by defining methods like:
// static FieldType unparcelFieldName(Parcel in) { ... }
@@ -184,7 +184,7 @@ public class SampleWithCustomBuilder implements Parcelable {
}
@Override
public SampleWithCustomBuilder createFromParcel(Parcel in) {
public SampleWithCustomBuilder createFromParcel(@NonNull Parcel in) {
return new SampleWithCustomBuilder(in);
}
};
@@ -253,8 +253,8 @@ public class SampleWithCustomBuilder implements Parcelable {
}
@DataClass.Generated(
time = 1570828330331L,
codegenVersion = "1.0.8",
time = 1571258912752L,
codegenVersion = "1.0.9",
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

View File

@@ -51,7 +51,7 @@ public class StaleDataclassDetectorFalsePositivesTest {
// Code below generated by codegen v1.0.8.
// Code below generated by codegen v1.0.9.
//
// DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code
@@ -65,8 +65,8 @@ public class StaleDataclassDetectorFalsePositivesTest {
@DataClass.Generated(
time = 1570828334384L,
codegenVersion = "1.0.8",
time = 1571258916868L,
codegenVersion = "1.0.9",
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

View File

@@ -417,7 +417,7 @@ fun ClassPrinter.generateParcelable() {
if (!isMethodGenerationSuppressed("writeToParcel", Parcel, "int")) {
+"@Override"
+GENERATED_MEMBER_HEADER
"public void writeToParcel($Parcel dest, int flags)" {
"public void writeToParcel(@$NonNull $Parcel dest, int flags)" {
+"// You can override field parcelling by defining methods like:"
+"// void parcelFieldName(Parcel dest, int flags) { ... }"
+""
@@ -473,7 +473,7 @@ fun ClassPrinter.generateParcelable() {
+"/** @hide */"
+"@SuppressWarnings({\"unchecked\", \"RedundantCast\"})"
+GENERATED_MEMBER_HEADER
"$visibility $ClassName($Parcel in) {" {
"$visibility $ClassName(@$NonNull $Parcel in) {" {
+"// You can override field unparcelling by defining methods like:"
+"// static FieldType unparcelFieldName(Parcel in) { ... }"
+""
@@ -598,7 +598,7 @@ fun ClassPrinter.generateParcelable() {
}
+"@Override"
"public $ClassName createFromParcel($Parcel in)" {
"public $ClassName createFromParcel(@$NonNull $Parcel in)" {
+"return new $ClassName(in);"
}
rmEmptyLine()
@@ -611,7 +611,7 @@ fun ClassPrinter.generateEqualsHashcode() {
if (!isMethodGenerationSuppressed("equals", "Object")) {
+"@Override"
+GENERATED_MEMBER_HEADER
"public boolean equals(Object o)" {
"public boolean equals(@$Nullable Object o)" {
+"// You can override field equality logic by defining either of the methods like:"
+"// boolean fieldNameEquals($ClassName other) { ... }"
+"// boolean fieldNameEquals(FieldType otherValue) { ... }"
@@ -904,7 +904,7 @@ fun ClassPrinter.generateForEachField() {
usedSpecializationsSet.toList().forEachLastAware { specType, isLast ->
val SpecType = specType.capitalize()
val ActionClass = classRef("com.android.internal.util.DataClass.Per${SpecType}FieldAction")
+"$ActionClass<$ClassType> action$SpecType${if_(!isLast, ",")}"
+"@$NonNull $ActionClass<$ClassType> action$SpecType${if_(!isLast, ",")}"
}
}; " {" {
usedSpecializations.forEachIndexed { i, specType ->
@@ -919,7 +919,7 @@ fun ClassPrinter.generateForEachField() {
+"/** @deprecated May cause boxing allocations - use with caution! */"
+"@Deprecated"
+GENERATED_MEMBER_HEADER
"void forEachField($PerObjectFieldAction<$ClassType> action)" {
"void forEachField(@$NonNull $PerObjectFieldAction<$ClassType> action)" {
fields.forEachApply {
+"action.acceptObject(this, \"$nameLowerCamel\", $name);"
}

View File

@@ -1,7 +1,7 @@
package com.android.codegen
const val CODEGEN_NAME = "codegen"
const val CODEGEN_VERSION = "1.0.8"
const val CODEGEN_VERSION = "1.0.9"
const val CANONICAL_BUILDER_CLASS = "Builder"
const val BASE_BUILDER_CLASS = "BaseBuilder"