[tree generators] Factor out common transformer printing logic

This commit is contained in:
Sergej Jaskiewicz
2023-12-11 18:04:03 +01:00
committed by Space Team
parent 9670de74f1
commit 80c9eae409
10 changed files with 89 additions and 132 deletions
@@ -17,7 +17,7 @@ internal class TransformerPrinter(
printer: SmartPrinter,
override val visitorType: ClassRef<*>,
private val rootElement: Element,
) : AbstractVisitorPrinter<Element, Field>(printer) {
) : AbstractTransformerPrinter<Element, Field>(printer) {
override val visitorSuperType: ClassRef<PositionTypeParameterRef>
get() = elementVisitorType.withArgs(rootElement, dataTypeVariable)
@@ -30,9 +30,6 @@ internal class TransformerPrinter(
override fun visitMethodReturnType(element: Element) = element.getTransformExplicitType()
override val allowTypeParametersInVisitorMethods: Boolean
get() = false
context(ImportCollector)
override fun printMethodsForElement(element: Element) {
printer.run {
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.utils.withIndent
internal class TransformerVoidPrinter(
printer: SmartPrinter,
override val visitorType: ClassRef<*>,
) : AbstractVisitorPrinter<Element, Field>(printer) {
) : AbstractTransformerPrinter<Element, Field>(printer) {
override val visitorTypeParameters: List<TypeVariable>
get() = emptyList()