[FIR] Refactor: extract class reference expression rendering out of
...`FirRenderer`. ^KT-62559
This commit is contained in:
committed by
Space Team
parent
fa897e4148
commit
c609de5195
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
* Copyright 2010-2023 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.expressions.FirGetClassCall
|
||||
|
||||
abstract class FirGetClassCallRenderer {
|
||||
internal lateinit var components: FirRendererComponents
|
||||
|
||||
internal abstract fun render(getClassCall: FirGetClassCall)
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Copyright 2010-2023 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.expressions.FirGetClassCall
|
||||
|
||||
internal class FirGetClassCallRendererForDebugging : FirGetClassCallRenderer() {
|
||||
override fun render(getClassCall: FirGetClassCall) {
|
||||
components.annotationRenderer?.render(getClassCall)
|
||||
components.printer.print("<getClass>")
|
||||
components.visitor.visitCall(getClassCall)
|
||||
}
|
||||
}
|
||||
@@ -47,6 +47,7 @@ class FirRenderer(
|
||||
override val resolvedNamedReferenceRenderer: FirResolvedNamedReferenceRenderer = FirResolvedNamedReferenceRendererWithLabel(),
|
||||
override val resolvedQualifierRenderer: FirResolvedQualifierRenderer = FirResolvedQualifierRendererWithLabel(),
|
||||
private val lineBreakAfterContextReceivers: Boolean = true,
|
||||
override val getClassCallRenderer: FirGetClassCallRenderer = FirGetClassCallRendererForDebugging(),
|
||||
) : FirRendererComponents {
|
||||
|
||||
override val visitor = Visitor()
|
||||
@@ -101,6 +102,7 @@ class FirRenderer(
|
||||
fileAnnotationsContainerRenderer?.components = this
|
||||
resolvedNamedReferenceRenderer.components = this
|
||||
resolvedQualifierRenderer.components = this
|
||||
getClassCallRenderer.components = this
|
||||
}
|
||||
|
||||
fun renderElementAsString(element: FirElement, trim: Boolean = false): String {
|
||||
@@ -1114,9 +1116,7 @@ class FirRenderer(
|
||||
}
|
||||
|
||||
override fun visitGetClassCall(getClassCall: FirGetClassCall) {
|
||||
annotationRenderer?.render(getClassCall)
|
||||
print("<getClass>")
|
||||
visitCall(getClassCall)
|
||||
getClassCallRenderer.render(getClassCall)
|
||||
}
|
||||
|
||||
override fun visitClassReferenceExpression(classReferenceExpression: FirClassReferenceExpression) {
|
||||
|
||||
@@ -28,4 +28,5 @@ internal interface FirRendererComponents {
|
||||
val fileAnnotationsContainerRenderer: FirFileAnnotationsContainerRenderer?
|
||||
val resolvedNamedReferenceRenderer: FirResolvedNamedReferenceRenderer
|
||||
val resolvedQualifierRenderer: FirResolvedQualifierRenderer
|
||||
val getClassCallRenderer: FirGetClassCallRenderer
|
||||
}
|
||||
Reference in New Issue
Block a user