[FIR generator] Print builder property name in generated classes' KDocs

Just like we do when generating the IR tree
This commit is contained in:
Sergej Jaskiewicz
2023-10-19 12:14:48 +02:00
committed by Space Team
parent fa20e401f8
commit 9eacdb3314
164 changed files with 502 additions and 22 deletions
@@ -76,7 +76,7 @@ class Element(
val fieldsToSkipInIrFactoryMethod = config.fieldsToSkipInIrFactoryMethod
val generationCallback = config.generationCallback
val propertyName = config.propertyName
override val propertyName = config.propertyName
override val kDoc = config.kDoc
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.ir.generator.elementVisitorType
import org.jetbrains.kotlin.ir.generator.model.*
import org.jetbrains.kotlin.generators.tree.TypeRefWithNullability
import org.jetbrains.kotlin.generators.tree.typeKind
import org.jetbrains.kotlin.generators.tree.printer.extendedKDoc
import org.jetbrains.kotlin.ir.generator.util.tryParameterizedBy
import java.io.File
import org.jetbrains.kotlin.generators.tree.ElementRef as GenericElementRef
@@ -273,17 +274,7 @@ fun printElements(generationPath: File, model: Model) = sequence {
}
private fun TypeSpec.Builder.generateElementKDoc(element: Element) {
addKdoc(buildString {
if (element.kDoc != null) {
appendLine(element.kDoc)
} else {
append("A ")
append(if (element.isLeaf) "leaf" else "non-leaf")
appendLine(" IR tree element.")
}
append("\nGenerated from: [${element.propertyName}]")
})
addKdoc(element.extendedKDoc("A ${if (element.isLeaf) "leaf" else "non-leaf"} IR tree element."))
}
private val descriptorApiAnnotation = ClassName("org.jetbrains.kotlin.ir", "ObsoleteDescriptorBasedAPI")