From c81b22e7de7a53955f34f20818007df66c740d20 Mon Sep 17 00:00:00 2001 From: Roman Golyshev Date: Tue, 20 Jun 2023 15:52:53 +0200 Subject: [PATCH] KT-59093 [Analysis API] Remove error logging from `KtFirCallResolver` There are too many possible error cases when code resolution cannot properly resolve a call. Since in external mode `Logger.error` calls lead to visible IDE errors, we want to avoid that ^KT-59093 Fixed --- .../api/fir/components/KtFirCallResolver.kt | 20 ------------------- .../analysis/api/components/KtCallResolver.kt | 3 +-- 2 files changed, 1 insertion(+), 22 deletions(-) diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCallResolver.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCallResolver.kt index 326b51bab4f..1ec6171aa10 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCallResolver.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCallResolver.kt @@ -5,8 +5,6 @@ package org.jetbrains.kotlin.analysis.api.fir.components -import com.intellij.openapi.diagnostic.Logger -import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals import org.jetbrains.kotlin.analysis.api.calls.* import org.jetbrains.kotlin.analysis.api.diagnostics.KtDiagnostic import org.jetbrains.kotlin.analysis.api.diagnostics.KtNonBoundToPsiErrorDiagnostic @@ -32,8 +30,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.resolveToFirSymbolOfT import org.jetbrains.kotlin.analysis.low.level.api.fir.resolver.AllCandidatesResolver import org.jetbrains.kotlin.analysis.low.level.api.fir.util.errorWithFirSpecificEntries import org.jetbrains.kotlin.analysis.low.level.api.fir.util.withFirEntry -import org.jetbrains.kotlin.analysis.utils.errors.ExceptionAttachmentBuilder -import org.jetbrains.kotlin.analysis.utils.errors.logErrorWithAttachment import org.jetbrains.kotlin.analysis.utils.errors.rethrowExceptionWithDetails import org.jetbrains.kotlin.analysis.utils.errors.withPsiEntry import org.jetbrains.kotlin.analysis.utils.printer.parentOfType @@ -77,8 +73,6 @@ import org.jetbrains.kotlin.util.OperatorNameConventions.EQUALS import org.jetbrains.kotlin.utils.addIfNotNull import org.jetbrains.kotlin.utils.addToStdlib.safeAs -private val LOG: Logger = Logger.getInstance(KtFirCallResolver::class.java) - internal class KtFirCallResolver( override val analysisSession: KtFirAnalysisSession, override val token: KtLifetimeToken, @@ -1290,20 +1284,6 @@ internal class KtFirCallResolver( } } - @KtAnalysisApiInternals - override fun unresolvedKtCallError(psi: KtElement): KtErrorCallInfo { - LOG.logErrorWithAttachment("${psi::class.simpleName} should always resolve to a KtCallInfo") { - withPsiEntry("psi", psi, analysisSession::getModule) - provideAdditionalAttachmentToUnresolvedCall(psi, this) - } - - return super.unresolvedKtCallError(psi) - } - - private fun provideAdditionalAttachmentToUnresolvedCall(psi: KtElement, builder: ExceptionAttachmentBuilder) { - psi.getOrBuildFir(firResolveSession)?.let { builder.withFirEntry("fir", it) } - } - private inline fun wrapError(element: KtElement, action: () -> R): R { return try { action() diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/components/KtCallResolver.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/components/KtCallResolver.kt index 5b906b1d3ac..22bc7911c7e 100644 --- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/components/KtCallResolver.kt +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/components/KtCallResolver.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.api.components -import com.intellij.openapi.diagnostic.Logger import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals import org.jetbrains.kotlin.analysis.api.calls.KtCallCandidateInfo import org.jetbrains.kotlin.analysis.api.calls.KtCallInfo @@ -23,7 +22,7 @@ public abstract class KtCallResolver : KtAnalysisSessionComponent() { public abstract fun collectCallCandidates(psi: KtElement): List @KtAnalysisApiInternals - public open fun unresolvedKtCallError(psi: KtElement): KtErrorCallInfo { + public fun unresolvedKtCallError(psi: KtElement): KtErrorCallInfo { return KtErrorCallInfo( _candidateCalls = emptyList(), KtNonBoundToPsiErrorDiagnostic(factoryName = null, "Unresolved call", token),