[tree generator] Rename AbstractImplementation.fieldsWith(out)Default

to better describe their intended usage, see also next commit.

^KT-65773 In Progress
This commit is contained in:
Wojciech Litewka
2024-02-22 12:39:19 +01:00
committed by Space Team
parent 6fadc51856
commit 288351d733
4 changed files with 8 additions and 8 deletions
@@ -72,7 +72,7 @@ internal class ImplementationPrinter(
&& !element.typeName.endsWith("AnnotationsContainer") && !element.typeName.endsWith("AnnotationsContainer")
}.orEmpty() }.orEmpty()
val customCalls = fieldsWithoutDefault.filter { it.customInitializationCall != null } val customCalls = fieldsInConstructor.filter { it.customInitializationCall != null }
if (bindingCalls.isNotEmpty() || customCalls.isNotEmpty()) { if (bindingCalls.isNotEmpty() || customCalls.isNotEmpty()) {
println() println()
println("init {") println("init {")
@@ -70,9 +70,9 @@ abstract class AbstractImplementation<Implementation, Element, Field>(
private fun withDefault(field: Field) = !field.isFinal && (field.defaultValueInImplementation != null || field.isLateinit) private fun withDefault(field: Field) = !field.isFinal && (field.defaultValueInImplementation != null || field.isLateinit)
val fieldsWithoutDefault by lazy { allFields.filterNot(::withDefault) } val fieldsInConstructor by lazy { allFields.filterNot(::withDefault) }
val fieldsWithDefault by lazy { allFields.filter(::withDefault) } val fieldsInBody by lazy { allFields.filter(::withDefault) }
var requiresOptIn = false var requiresOptIn = false
@@ -39,7 +39,7 @@ abstract class AbstractImplementationPrinter<Implementation, Element, Implementa
add(implementationOptInAnnotation) add(implementationOptInAnnotation)
} }
for (field in implementation.fieldsWithoutDefault) { for (field in implementation.fieldsInConstructor) {
field.optInAnnotation?.let { field.optInAnnotation?.let {
add(it) add(it)
} }
@@ -61,13 +61,13 @@ abstract class AbstractImplementationPrinter<Implementation, Element, Implementa
val fieldPrinter = makeFieldPrinter(this) val fieldPrinter = makeFieldPrinter(this)
if (!isInterface && !isAbstract && implementation.fieldsWithoutDefault.isNotEmpty()) { if (!isInterface && !isAbstract && implementation.fieldsInConstructor.isNotEmpty()) {
if (implementation.isPublic) { if (implementation.isPublic) {
print(" @", implementationOptInAnnotation.render(), " constructor") print(" @", implementationOptInAnnotation.render(), " constructor")
} }
println("(") println("(")
withIndent { withIndent {
implementation.fieldsWithoutDefault.forEachIndexed { _, field -> implementation.fieldsInConstructor.forEachIndexed { _, field ->
if (field.isParameter) { if (field.isParameter) {
print(field.name, ": ", field.typeRef.render()) print(field.name, ": ", field.typeRef.render())
println(",") println(",")
@@ -90,7 +90,7 @@ abstract class AbstractImplementationPrinter<Implementation, Element, Implementa
fieldPrinter.printField(it, override = true, modality = Modality.ABSTRACT.takeIf { isAbstract }) fieldPrinter.printField(it, override = true, modality = Modality.ABSTRACT.takeIf { isAbstract })
} }
} else { } else {
implementation.fieldsWithDefault.forEach { implementation.fieldsInBody.forEach {
fieldPrinter.printField(it, override = true) fieldPrinter.printField(it, override = true)
} }
} }
@@ -53,7 +53,7 @@ class LeafBuilder<BuilderField, Element, Implementation>(
override val typeName: String override val typeName: String
get() = (implementation.name ?: implementation.element.typeName) + "Builder" get() = (implementation.name ?: implementation.element.typeName) + "Builder"
override val allFields: List<BuilderField> by lazy { implementation.fieldsWithoutDefault } override val allFields: List<BuilderField> by lazy { implementation.fieldsInConstructor }
override val uselessFields: List<BuilderField> by lazy { override val uselessFields: List<BuilderField> by lazy {
val fieldsFromParents = parents.flatMap { it.allFields }.distinct() val fieldsFromParents = parents.flatMap { it.allFields }.distinct()