FirRenderer: partially get rid of RenderMode

This commit is contained in:
Mikhail Glukhikh
2022-07-06 17:03:09 +02:00
committed by Space
parent 9890066b72
commit 7c27e6f843
29 changed files with 254 additions and 169 deletions
@@ -11,7 +11,13 @@ import org.jetbrains.kotlin.name.ClassId
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.contract
open class ConeTypeRenderer(protected val builder: StringBuilder) {
open class ConeTypeRenderer() {
lateinit var builder: StringBuilder
constructor(builder: StringBuilder) : this() {
this.builder = builder
}
open fun renderAsPossibleFunctionType(
type: ConeKotlinType, renderType: ConeTypeProjection.() -> Unit = { render() }
@@ -8,7 +8,12 @@ package org.jetbrains.kotlin.fir.renderer
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.types.ConeTypeProjection
class ConeTypeRendererForDebugging(builder: StringBuilder) : ConeTypeRendererWithFqNames(builder) {
class ConeTypeRendererForDebugging() : ConeTypeRendererWithFqNames() {
constructor(builder: StringBuilder) : this() {
this.builder = builder
}
override fun renderAsPossibleFunctionType(type: ConeKotlinType, renderType: ConeTypeProjection.() -> Unit) {
builder.append("R|")
super.renderAsPossibleFunctionType(type, renderType)
@@ -7,7 +7,12 @@ package org.jetbrains.kotlin.fir.renderer
import org.jetbrains.kotlin.name.ClassId
open class ConeTypeRendererWithFqNames(builder: StringBuilder) : ConeTypeRenderer(builder) {
open class ConeTypeRendererWithFqNames() : ConeTypeRenderer() {
constructor(builder: StringBuilder) : this() {
this.builder = builder
}
override fun ClassId.render() {
builder.append(asString())
}