diff options
Diffstat (limited to 'tools/codegen/src')
-rw-r--r-- | tools/codegen/src/com/android/codegen/ClassPrinter.kt | 8 | ||||
-rw-r--r-- | tools/codegen/src/com/android/codegen/Generators.kt | 14 | ||||
-rw-r--r-- | tools/codegen/src/com/android/codegen/SharedConstants.kt | 2 |
3 files changed, 18 insertions, 6 deletions
diff --git a/tools/codegen/src/com/android/codegen/ClassPrinter.kt b/tools/codegen/src/com/android/codegen/ClassPrinter.kt index a4fd374d0c6e..c7c80bab67bf 100644 --- a/tools/codegen/src/com/android/codegen/ClassPrinter.kt +++ b/tools/codegen/src/com/android/codegen/ClassPrinter.kt @@ -164,7 +164,13 @@ class ClassPrinter( getSuppressedMembers(classAst) } val builderSuppressedMembers by lazy { - getSuppressedMembers(customBaseBuilderAst) + getSuppressedMembers(customBaseBuilderAst) + suppressedMembers.mapNotNull { + if (it.startsWith("$CANONICAL_BUILDER_CLASS.")) { + it.removePrefix("$CANONICAL_BUILDER_CLASS.") + } else { + null + } + } } private fun getSuppressedMembers(clazz: ClassOrInterfaceDeclaration?): List<String> { diff --git a/tools/codegen/src/com/android/codegen/Generators.kt b/tools/codegen/src/com/android/codegen/Generators.kt index dc1f4c50abc4..8fe243ff68cb 100644 --- a/tools/codegen/src/com/android/codegen/Generators.kt +++ b/tools/codegen/src/com/android/codegen/Generators.kt @@ -270,7 +270,7 @@ fun ClassPrinter.generateBuilder() { private fun ClassPrinter.generateBuilderMethod( defVisibility: String, name: String, - ParamAnnotations: String? = null, + paramAnnotations: String? = null, paramTypes: List<String>, paramNames: List<String> = listOf("value"), genJavadoc: ClassPrinter.() -> Unit, @@ -292,8 +292,12 @@ private fun ClassPrinter.generateBuilderMethod( +GENERATED_MEMBER_HEADER if (providedMethod?.isAbstract == true) +"@Override" if (!Annotations.isNullOrEmpty()) +Annotations - "$visibility @$NonNull $ReturnType $name(${if_(!ParamAnnotations.isNullOrEmpty(), "$ParamAnnotations ")}${ - paramTypes.zip(paramNames).joinToString(", ") { (Type, paramName) -> "$Type $paramName" } + val ParamAnnotations = if (!paramAnnotations.isNullOrEmpty()) "$paramAnnotations " else "" + + "$visibility @$NonNull $ReturnType $name(${ + paramTypes.zip(paramNames).joinToString(", ") { (Type, paramName) -> + "$ParamAnnotations$Type $paramName" + } })" { genBody() } @@ -311,7 +315,7 @@ private fun ClassPrinter.generateBuilderSetters(visibility: String) { generateBuilderMethod( name = setterName, defVisibility = visibility, - ParamAnnotations = annotationsNoInternal.joinToString(" "), + paramAnnotations = annotationsNoInternal.joinToString(" "), paramTypes = listOf(SetterParamType), genJavadoc = { generateFieldJavadoc() }) { +"checkNotUsed();" @@ -333,6 +337,7 @@ private fun ClassPrinter.generateBuilderSetters(visibility: String) { generateBuilderMethod( name = adderName, defVisibility = visibility, + paramAnnotations = "@$NonNull", paramTypes = listOf(FieldInnerType), genJavadoc = { +javadocSeeSetter }) { @@ -347,6 +352,7 @@ private fun ClassPrinter.generateBuilderSetters(visibility: String) { generateBuilderMethod( name = adderName, defVisibility = visibility, + paramAnnotations = "@$NonNull", paramTypes = fieldTypeGenegicArgs, paramNames = listOf("key", "value"), genJavadoc = { +javadocSeeSetter }) { diff --git a/tools/codegen/src/com/android/codegen/SharedConstants.kt b/tools/codegen/src/com/android/codegen/SharedConstants.kt index 85c832fcf34f..74c86f4551f8 100644 --- a/tools/codegen/src/com/android/codegen/SharedConstants.kt +++ b/tools/codegen/src/com/android/codegen/SharedConstants.kt @@ -1,7 +1,7 @@ package com.android.codegen const val CODEGEN_NAME = "codegen" -const val CODEGEN_VERSION = "1.0.13" +const val CODEGEN_VERSION = "1.0.14" const val CANONICAL_BUILDER_CLASS = "Builder" const val BASE_BUILDER_CLASS = "BaseBuilder" |