[FIR/IR generator] Remove visitSuperTypeByDefault from visitor printers

This property is FIR-specific, no need to use it in the generic printer.
This commit is contained in:
Sergej Jaskiewicz
2023-11-14 16:26:28 +01:00
committed by Space Team
parent a5b5492b2d
commit 4307e76f15
5 changed files with 20 additions and 22 deletions
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.utils.withIndent
abstract class AbstractVisitorPrinter<Element : AbstractElement<Element, Field>, Field : AbstractField>(
val printer: SmartPrinter,
val visitSuperTypeByDefault: Boolean,
) {
/**
@@ -59,6 +58,8 @@ abstract class AbstractVisitorPrinter<Element : AbstractElement<Element, Field>,
*/
open fun parentInVisitor(element: Element): Element? = element.parentInVisitor
open fun skipElement(element: Element): Boolean = false
/**
* Prints a single visitor method declaration, without body.
*/
@@ -149,8 +150,7 @@ abstract class AbstractVisitorPrinter<Element : AbstractElement<Element, Field>,
printBlock {
printAdditionalMethods()
for (element in elements) {
if (element.isRootElement && visitSuperTypeByDefault) continue
if (visitSuperTypeByDefault && parentInVisitor(element) == null) continue
if (skipElement(element)) continue
printMethodsForElement(element)
}
}
@@ -11,8 +11,7 @@ import org.jetbrains.kotlin.utils.SmartPrinter
abstract class AbstractVisitorVoidPrinter<Element, Field>(
printer: SmartPrinter,
visitSuperTypeByDefault: Boolean,
) : AbstractVisitorPrinter<Element, Field>(printer, visitSuperTypeByDefault)
) : AbstractVisitorPrinter<Element, Field>(printer)
where Element : AbstractElement<Element, Field>,
Field : AbstractField {
@@ -26,11 +25,8 @@ abstract class AbstractVisitorVoidPrinter<Element, Field>(
abstract val visitorSuperClass: ClassRef<PositionTypeParameterRef>
override val visitorSuperType: ClassRef<PositionTypeParameterRef>
get() = if (visitSuperTypeByDefault)
visitorSuperClass
else
visitorSuperClass.withArgs(StandardTypes.unit, visitorDataType)
final override val visitorSuperType: ClassRef<PositionTypeParameterRef>
get() = visitorSuperClass.withArgs(StandardTypes.unit, visitorDataType)
abstract val useAbstractMethodForRootElement: Boolean