[FIR] Improve readability of rendered types in diagnostics

#KT-61824 Fixed
#KT-61688 Fixed
This commit is contained in:
Kirill Rakhman
2023-09-12 14:27:29 +02:00
committed by Space Team
parent 99b852adf8
commit 4e1dfcd2a8
25 changed files with 65 additions and 37 deletions
@@ -66,6 +66,18 @@ class FirRenderer(
fun withDeclarationAttributes(): FirRenderer =
FirRenderer(declarationRenderer = FirDeclarationRendererWithAttributes())
fun forReadability(): FirRenderer = FirRenderer(
typeRenderer = ConeTypeRenderer(),
idRenderer = ConeIdShortRenderer(),
classMemberRenderer = FirNoClassMemberRenderer(),
bodyRenderer = null,
propertyAccessorRenderer = null,
callArgumentsRenderer = FirCallNoArgumentsRenderer(),
modifierRenderer = FirPartialModifierRenderer(),
valueParameterRenderer = FirValueParameterRendererNoDefaultValue(),
declarationRenderer = FirDeclarationRenderer("local ")
)
}
init {
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.builder.buildAnnotationCallCopy
import org.jetbrains.kotlin.fir.expressions.builder.buildAnnotationCopy
import org.jetbrains.kotlin.fir.render
import org.jetbrains.kotlin.fir.renderer.FirRenderer
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import kotlin.reflect.KClass
@@ -55,6 +56,9 @@ class CustomAnnotationTypeAttribute(
override fun toString(): String = annotations.joinToString(separator = " ") { it.render() }
override fun renderForReadability(): String =
annotations.joinToString(separator = " ") { FirRenderer.forReadability().renderElementAsString(it, trim = true) }
override val key: KClass<out CustomAnnotationTypeAttribute>
get() = CustomAnnotationTypeAttribute::class