[FIR/IR generator] Generate kDocs for visitor classes

This commit is contained in:
Sergej Jaskiewicz
2023-10-30 11:58:25 +01:00
committed by Space Team
parent 570422dbd4
commit 54de11cb58
10 changed files with 29 additions and 4 deletions
@@ -18,6 +18,9 @@ import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.references.*
import org.jetbrains.kotlin.fir.types.*
/**
* Auto-generated by [org.jetbrains.kotlin.fir.tree.generator.printer.VisitorPrinter]
*/
abstract class FirDefaultVisitor<out R, in D> : FirVisitor<R, D>() {
override fun visitTypeRef(typeRef: FirTypeRef, data: D): R =
@@ -18,6 +18,9 @@ import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.references.*
import org.jetbrains.kotlin.fir.types.*
/**
* Auto-generated by [org.jetbrains.kotlin.fir.tree.generator.printer.DefaultVisitorVoidPrinter]
*/
abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
override fun visitTypeRef(typeRef: FirTypeRef) = visitAnnotationContainer(typeRef)
@@ -16,6 +16,9 @@ import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.references.*
import org.jetbrains.kotlin.fir.types.*
/**
* Auto-generated by [org.jetbrains.kotlin.fir.tree.generator.printer.TransformerPrinter]
*/
abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
abstract fun <E : FirElement> transformElement(element: E, data: D): E
@@ -16,6 +16,9 @@ import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.references.*
import org.jetbrains.kotlin.fir.types.*
/**
* Auto-generated by [org.jetbrains.kotlin.fir.tree.generator.printer.VisitorPrinter]
*/
abstract class FirVisitor<out R, in D> {
abstract fun visitElement(element: FirElement, data: D): R
@@ -16,6 +16,9 @@ import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.references.*
import org.jetbrains.kotlin.fir.types.*
/**
* Auto-generated by [org.jetbrains.kotlin.fir.tree.generator.printer.VisitorVoidPrinter]
*/
abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
final override fun visitElement(element: FirElement, data: Nothing?) {
@@ -13,6 +13,9 @@ import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.*
/**
* Auto-generated by [org.jetbrains.kotlin.ir.generator.print.TransformerPrinter]
*/
interface IrElementTransformer<in D> : IrElementVisitor<IrElement, D> {
override fun visitElement(element: IrElement, data: D): IrElement {
@@ -12,6 +12,9 @@ import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.*
/**
* Auto-generated by [org.jetbrains.kotlin.ir.generator.print.VisitorPrinter]
*/
interface IrElementVisitor<out R, in D> {
fun visitElement(element: IrElement, data: D): R
@@ -12,6 +12,9 @@ import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.*
/**
* Auto-generated by [org.jetbrains.kotlin.ir.generator.print.VisitorVoidPrinter]
*/
interface IrElementVisitorVoid : IrElementVisitor<Unit, Nothing?> {
override fun visitElement(element: IrElement, data: Nothing?) {
@@ -14,6 +14,9 @@ import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.*
import org.jetbrains.kotlin.ir.types.IrType
/**
* Auto-generated by [org.jetbrains.kotlin.ir.generator.print.TypeTransformerPrinter]
*/
interface IrTypeTransformer<in D> : IrElementTransformer<D> {
fun <Type : IrType?> transformType(container: IrElement, type: Type, data: D): Type
@@ -6,10 +6,7 @@
package org.jetbrains.kotlin.generators.tree
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.generators.tree.printer.FunctionParameter
import org.jetbrains.kotlin.generators.tree.printer.multipleUpperBoundsList
import org.jetbrains.kotlin.generators.tree.printer.printFunctionDeclaration
import org.jetbrains.kotlin.generators.tree.printer.typeParameters
import org.jetbrains.kotlin.generators.tree.printer.*
import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.utils.SmartPrinter
import org.jetbrains.kotlin.utils.withIndent
@@ -138,6 +135,7 @@ abstract class AbstractVisitorPrinter<Element : AbstractElement<Element, Field>,
fun printVisitor(elements: List<Element>) {
val visitorType = this.visitorType
printer.run {
printKDoc("Auto-generated by [${this@AbstractVisitorPrinter::class.qualifiedName}]")
when (visitorType.kind) {
TypeKind.Interface -> print("interface ")
TypeKind.Class -> print("abstract class ")