Merge "Generate @NonNull setter args and @MaySetToNull to opt out" into rvc-dev
This commit is contained in:
@@ -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