Extract separate FirResolvePhaseRenderer
This commit is contained in:
@@ -11,17 +11,15 @@ open class FirDeclarationRenderer {
|
||||
|
||||
internal lateinit var components: FirRendererComponents
|
||||
protected val printer get() = components.printer
|
||||
private val resolvePhaseRenderer get() = components.resolvePhaseRenderer
|
||||
|
||||
fun render(declaration: FirDeclaration) {
|
||||
resolvePhaseRenderer?.render(declaration)
|
||||
with(declaration) {
|
||||
renderDeclarationResolvePhase()
|
||||
renderDeclarationAttributes()
|
||||
}
|
||||
}
|
||||
|
||||
protected open fun FirDeclaration.renderDeclarationResolvePhase() {
|
||||
}
|
||||
|
||||
protected open fun FirDeclaration.renderDeclarationAttributes() {
|
||||
}
|
||||
}
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir.renderer
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
|
||||
class FirDeclarationRendererWithResolvePhase : FirDeclarationRenderer() {
|
||||
override fun FirDeclaration.renderDeclarationResolvePhase() {
|
||||
printer.print("[${resolvePhase}] ")
|
||||
}
|
||||
}
|
||||
@@ -41,6 +41,7 @@ class FirRenderer private constructor(
|
||||
private val modifierRenderer: FirModifierRenderer,
|
||||
private val packageDirectiveRenderer: FirPackageDirectiveRenderer?,
|
||||
private val propertyAccessorRenderer: FirPropertyAccessorRenderer?,
|
||||
private val resolvePhaseRenderer: FirResolvePhaseRenderer?,
|
||||
private val typeRenderer: ConeTypeRenderer,
|
||||
private val valueParameterRenderer: FirValueParameterRenderer,
|
||||
) : FirPrinter(builder) {
|
||||
@@ -58,6 +59,7 @@ class FirRenderer private constructor(
|
||||
components.modifierRenderer = modifierRenderer
|
||||
components.packageDirectiveRenderer = packageDirectiveRenderer
|
||||
components.propertyAccessorRenderer = propertyAccessorRenderer
|
||||
components.resolvePhaseRenderer = resolvePhaseRenderer
|
||||
components.typeRenderer = typeRenderer
|
||||
components.valueParameterRenderer = valueParameterRenderer
|
||||
@Suppress("LeakingThis")
|
||||
@@ -72,6 +74,7 @@ class FirRenderer private constructor(
|
||||
modifierRenderer.components = components
|
||||
packageDirectiveRenderer?.components = components
|
||||
propertyAccessorRenderer?.components = components
|
||||
resolvePhaseRenderer?.components = components
|
||||
typeRenderer.builder = builder
|
||||
typeRenderer.idRenderer = idRenderer
|
||||
valueParameterRenderer.components = components
|
||||
@@ -93,6 +96,7 @@ class FirRenderer private constructor(
|
||||
FirAllModifierRenderer(),
|
||||
packageDirectiveRenderer = null,
|
||||
FirPropertyAccessorRenderer(),
|
||||
resolvePhaseRenderer = null,
|
||||
ConeTypeRendererForDebugging(),
|
||||
FirValueParameterRenderer(),
|
||||
)
|
||||
@@ -110,13 +114,15 @@ class FirRenderer private constructor(
|
||||
modifierRenderer: FirModifierRenderer = this.modifierRenderer,
|
||||
packageDirectiveRenderer: FirPackageDirectiveRenderer? = this.packageDirectiveRenderer,
|
||||
propertyAccessorRenderer: FirPropertyAccessorRenderer? = this.propertyAccessorRenderer,
|
||||
resolvePhaseRenderer: FirResolvePhaseRenderer? = this.resolvePhaseRenderer,
|
||||
typeRenderer: ConeTypeRenderer = this.typeRenderer,
|
||||
valueParameterRenderer: FirValueParameterRenderer = this.valueParameterRenderer,
|
||||
): FirRenderer = FirRenderer(
|
||||
builder, FirComponentsImpl(),
|
||||
annotationRenderer, bodyRenderer, callArgumentsRenderer, classMemberRenderer,
|
||||
contractRenderer, declarationRenderer, idRenderer, modifierRenderer,
|
||||
packageDirectiveRenderer, propertyAccessorRenderer, typeRenderer, valueParameterRenderer
|
||||
packageDirectiveRenderer, propertyAccessorRenderer,
|
||||
resolvePhaseRenderer, typeRenderer, valueParameterRenderer
|
||||
)
|
||||
|
||||
fun renderElementAsString(element: FirElement): String {
|
||||
@@ -150,6 +156,8 @@ class FirRenderer private constructor(
|
||||
|
||||
override var propertyAccessorRenderer: FirPropertyAccessorRenderer? = null
|
||||
|
||||
override var resolvePhaseRenderer: FirResolvePhaseRenderer? = null
|
||||
|
||||
override lateinit var callArgumentsRenderer: FirCallArgumentsRenderer
|
||||
|
||||
override lateinit var classMemberRenderer: FirClassMemberRenderer
|
||||
|
||||
@@ -20,6 +20,7 @@ internal interface FirRendererComponents {
|
||||
val modifierRenderer: FirModifierRenderer
|
||||
val packageDirectiveRenderer: FirPackageDirectiveRenderer?
|
||||
val propertyAccessorRenderer: FirPropertyAccessorRenderer?
|
||||
val resolvePhaseRenderer: FirResolvePhaseRenderer?
|
||||
val typeRenderer: ConeTypeRenderer
|
||||
val valueParameterRenderer: FirValueParameterRenderer
|
||||
}
|
||||
+6
-3
@@ -7,8 +7,11 @@ package org.jetbrains.kotlin.fir.renderer
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
|
||||
class FirDeclarationRendererWithAttributesAndResolvePhase : FirDeclarationRendererWithAttributes() {
|
||||
override fun FirDeclaration.renderDeclarationResolvePhase() {
|
||||
printer.print("[${resolvePhase}] ")
|
||||
class FirResolvePhaseRenderer {
|
||||
internal lateinit var components: FirRendererComponents
|
||||
private val printer get() = components.printer
|
||||
|
||||
fun render(declaration: FirDeclaration) {
|
||||
printer.print("[${declaration.resolvePhase}] ")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user