[FIR] Trim rendered symbols in diagnostic messages

This commit is contained in:
Kirill Rakhman
2023-04-03 18:36:01 +02:00
committed by Space Team
parent 456d3e0f42
commit 674397be82
5 changed files with 9 additions and 13 deletions
@@ -37,7 +37,7 @@ object FirDiagnosticRenderers {
callArgumentsRenderer = FirCallNoArgumentsRenderer(),
modifierRenderer = FirPartialModifierRenderer(),
valueParameterRenderer = FirValueParameterRendererNoDefaultValue(),
).renderElementAsString(symbol.fir)
).renderElementAsString(symbol.fir, trim = true)
is FirTypeParameterSymbol -> symbol.name.asString()
else -> "???"
}
@@ -109,7 +109,7 @@ object FirDiagnosticRenderers {
@OptIn(SymbolInternals::class)
FirRenderer(
annotationRenderer = null, bodyRenderer = null, idRenderer = ConeIdFullRenderer()
).renderElementAsString(symbol.fir)
).renderElementAsString(symbol.fir, trim = true)
}
val AMBIGUOUS_CALLS = Renderer { candidates: Collection<FirBasedSymbol<*>> ->
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
import org.jetbrains.kotlin.name.StandardClassIds
import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.util.OperatorNameConventions
import org.jetbrains.kotlin.utils.addToStdlib.applyIf
import java.util.*
class FirRenderer(
@@ -88,9 +89,9 @@ class FirRenderer(
fileAnnotationsContainerRenderer?.components = this
}
fun renderElementAsString(element: FirElement): String {
fun renderElementAsString(element: FirElement, trim: Boolean = false): String {
element.accept(visitor)
return printer.toString()
return printer.toString().applyIf(trim, String::trim)
}
fun renderElementWithTypeAsString(element: FirElement): String {