[FIR generator] Don't print extra space in the where clause

This commit is contained in:
Sergej Jaskiewicz
2023-09-15 15:47:33 +02:00
committed by Space Team
parent 1d0785e246
commit 88c308dfd3
7 changed files with 332 additions and 332 deletions
@@ -75,7 +75,7 @@ fun SmartPrinter.printElement(element: Element) {
) )
} }
print(multipleUpperBoundsList()) print(multipleUpperBoundsList())
println("{") println(" {")
withIndent { withIndent {
allFields.forEach { field -> allFields.forEach { field ->
if (field.isFinal && field.fromParent || field.isParameter) return@forEach if (field.isFinal && field.fromParent || field.isParameter) return@forEach
@@ -36,7 +36,7 @@ fun printTransformer(elements: List<Element>, generationPath: File): GeneratedFi
element.typeParameters.takeIf { it.isNotBlank() }?.let { print(it) } element.typeParameters.takeIf { it.isNotBlank() }?.let { print(it) }
println( println(
"transform${element.name}($varName: ${element.typeWithArguments}, data: D): ${element.transformerType "transform${element.name}($varName: ${element.typeWithArguments}, data: D): ${element.transformerType
.typeWithArguments}${element.multipleUpperBoundsList()}{", .typeWithArguments}${element.multipleUpperBoundsList()} {",
) )
withIndent { withIndent {
println("return transformElement($varName, data)") println("return transformElement($varName, data)")
@@ -52,7 +52,7 @@ fun printTransformer(elements: List<Element>, generationPath: File): GeneratedFi
println( println(
"visit${element.name}($varName: ${element.typeWithArguments}, data: D): ${element.transformerType "visit${element.name}($varName: ${element.typeWithArguments}, data: D): ${element.transformerType
.typeWithArguments}${element.multipleUpperBoundsList()}{", .typeWithArguments}${element.multipleUpperBoundsList()} {",
) )
withIndent { withIndent {
println("return transform${element.name}($varName, data)") println("return transform${element.name}($varName, data)")
@@ -153,11 +153,11 @@ fun Field.call(): String = if (nullable) "?." else "."
fun Element.multipleUpperBoundsList(): String { fun Element.multipleUpperBoundsList(): String {
return typeArguments.filterIsInstance<TypeArgumentWithMultipleUpperBounds>().takeIf { it.isNotEmpty() }?.let { arguments -> return typeArguments.filterIsInstance<TypeArgumentWithMultipleUpperBounds>().takeIf { it.isNotEmpty() }?.let { arguments ->
val upperBoundsList = arguments.joinToString(", ", postfix = " ") { argument -> val upperBoundsList = arguments.joinToString(", ") { argument ->
argument.upperBounds.joinToString(", ") { upperBound -> "${argument.name} : ${upperBound.typeWithArguments}" } argument.upperBounds.joinToString(", ") { upperBound -> "${argument.name} : ${upperBound.typeWithArguments}" }
} }
" where $upperBoundsList" " where $upperBoundsList"
} ?: " " } ?: ""
} }
fun ImplementationKind?.braces(): String = when (this) { fun ImplementationKind?.braces(): String = when (this) {
@@ -98,7 +98,7 @@ fun printVisitorVoid(elements: List<Element>, generationPath: File): GeneratedFi
if (element == AbstractFirTreeBuilder.baseFirElement) continue if (element == AbstractFirTreeBuilder.baseFirElement) continue
with(element) { with(element) {
val varName = safeDecapitalizedName val varName = safeDecapitalizedName
println("open fun ${typeParameters}visit$name($varName: $typeWithArguments)${multipleUpperBoundsList()}{") println("open fun ${typeParameters}visit$name($varName: $typeWithArguments)${multipleUpperBoundsList()} {")
withIndent { withIndent {
println("visitElement($varName)") println("visitElement($varName)")
} }
@@ -110,7 +110,7 @@ fun printVisitorVoid(elements: List<Element>, generationPath: File): GeneratedFi
for (element in elements) { for (element in elements) {
with(element) { with(element) {
val varName = safeDecapitalizedName val varName = safeDecapitalizedName
println("final override fun ${typeParameters}visit$name($varName: $typeWithArguments, data: Nothing?)${multipleUpperBoundsList()}{") println("final override fun ${typeParameters}visit$name($varName: $typeWithArguments, data: Nothing?)${multipleUpperBoundsList()} {")
withIndent { withIndent {
println("visit$name($varName)") println("visit$name($varName)")
} }