[FIR] Trim rendered symbols in diagnostic messages
This commit is contained in:
committed by
Space Team
parent
456d3e0f42
commit
674397be82
+1
-2
@@ -48,8 +48,7 @@ KtApplicableCallCandidateInfo:
|
|||||||
isInBestCandidates = true
|
isInBestCandidates = true
|
||||||
|
|
||||||
KtInapplicableCallCandidateInfo:
|
KtInapplicableCallCandidateInfo:
|
||||||
diagnostic = ERROR<TOO_MANY_ARGUMENTS: Too many arguments for public final inline fun <T, K> R|kotlin/collections/Iterable<T>|.kotlin/collections/groupBy(keySelector: R|(T) -> K|): R|kotlin/collections/Map<K, kotlin/collections/List<T>>|
|
diagnostic = ERROR<TOO_MANY_ARGUMENTS: Too many arguments for public final inline fun <T, K> R|kotlin/collections/Iterable<T>|.kotlin/collections/groupBy(keySelector: R|(T) -> K|): R|kotlin/collections/Map<K, kotlin/collections/List<T>>|>
|
||||||
>
|
|
||||||
candidate = KtSimpleFunctionCall:
|
candidate = KtSimpleFunctionCall:
|
||||||
isImplicitInvoke = false
|
isImplicitInvoke = false
|
||||||
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
|
partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
|
||||||
|
|||||||
+2
-2
@@ -37,7 +37,7 @@ object FirDiagnosticRenderers {
|
|||||||
callArgumentsRenderer = FirCallNoArgumentsRenderer(),
|
callArgumentsRenderer = FirCallNoArgumentsRenderer(),
|
||||||
modifierRenderer = FirPartialModifierRenderer(),
|
modifierRenderer = FirPartialModifierRenderer(),
|
||||||
valueParameterRenderer = FirValueParameterRendererNoDefaultValue(),
|
valueParameterRenderer = FirValueParameterRendererNoDefaultValue(),
|
||||||
).renderElementAsString(symbol.fir)
|
).renderElementAsString(symbol.fir, trim = true)
|
||||||
is FirTypeParameterSymbol -> symbol.name.asString()
|
is FirTypeParameterSymbol -> symbol.name.asString()
|
||||||
else -> "???"
|
else -> "???"
|
||||||
}
|
}
|
||||||
@@ -109,7 +109,7 @@ object FirDiagnosticRenderers {
|
|||||||
@OptIn(SymbolInternals::class)
|
@OptIn(SymbolInternals::class)
|
||||||
FirRenderer(
|
FirRenderer(
|
||||||
annotationRenderer = null, bodyRenderer = null, idRenderer = ConeIdFullRenderer()
|
annotationRenderer = null, bodyRenderer = null, idRenderer = ConeIdFullRenderer()
|
||||||
).renderElementAsString(symbol.fir)
|
).renderElementAsString(symbol.fir, trim = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
val AMBIGUOUS_CALLS = Renderer { candidates: Collection<FirBasedSymbol<*>> ->
|
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.name.StandardClassIds
|
||||||
import org.jetbrains.kotlin.types.Variance
|
import org.jetbrains.kotlin.types.Variance
|
||||||
import org.jetbrains.kotlin.util.OperatorNameConventions
|
import org.jetbrains.kotlin.util.OperatorNameConventions
|
||||||
|
import org.jetbrains.kotlin.utils.addToStdlib.applyIf
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class FirRenderer(
|
class FirRenderer(
|
||||||
@@ -88,9 +89,9 @@ class FirRenderer(
|
|||||||
fileAnnotationsContainerRenderer?.components = this
|
fileAnnotationsContainerRenderer?.components = this
|
||||||
}
|
}
|
||||||
|
|
||||||
fun renderElementAsString(element: FirElement): String {
|
fun renderElementAsString(element: FirElement, trim: Boolean = false): String {
|
||||||
element.accept(visitor)
|
element.accept(visitor)
|
||||||
return printer.toString()
|
return printer.toString().applyIf(trim, String::trim)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun renderElementWithTypeAsString(element: FirElement): String {
|
fun renderElementWithTypeAsString(element: FirElement): String {
|
||||||
|
|||||||
+3
-6
@@ -1,14 +1,11 @@
|
|||||||
warning: language version 2.0 is experimental, there are no backwards compatibility guarantees for new language and library features
|
warning: language version 2.0 is experimental, there are no backwards compatibility guarantees for new language and library features
|
||||||
compiler/testData/cli/jvm/firDeprecationJava.kt:3:12: warning: '@Deprecated(...) fun stop(): Unit
|
compiler/testData/cli/jvm/firDeprecationJava.kt:3:12: warning: '@Deprecated(...) fun stop(): Unit' is deprecated. Deprecated in Java
|
||||||
' is deprecated. Deprecated in Java
|
|
||||||
thread.stop()
|
thread.stop()
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/firDeprecationJava.kt:4:17: warning: '@Deprecated(...) fun bar(a: String!, b: Int, c: Double): String!
|
compiler/testData/cli/jvm/firDeprecationJava.kt:4:17: warning: '@Deprecated(...) fun bar(a: String!, b: Int, c: Double): String!' is deprecated. Deprecated in Java
|
||||||
' is deprecated. Deprecated in Java
|
|
||||||
JavaClass().bar("", 1, 2.0)
|
JavaClass().bar("", 1, 2.0)
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/firDeprecationJava.kt:5:27: warning: '@Deprecated(...) field baz: List!
|
compiler/testData/cli/jvm/firDeprecationJava.kt:5:27: warning: '@Deprecated(...) field baz: List!' is deprecated. Deprecated in Java
|
||||||
' is deprecated. Deprecated in Java
|
|
||||||
val baz = JavaClass().baz
|
val baz = JavaClass().baz
|
||||||
^
|
^
|
||||||
OK
|
OK
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ compiler/testData/cli/jvm/firMultiplatformCompilationWithError/jvm.kt:1:18: erro
|
|||||||
|
|
||||||
expect fun foo(): Unit
|
expect fun foo(): Unit
|
||||||
|
|
||||||
|
|
||||||
actual interface A
|
actual interface A
|
||||||
^
|
^
|
||||||
COMPILATION_ERROR
|
COMPILATION_ERROR
|
||||||
|
|||||||
Reference in New Issue
Block a user