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
This commit is contained in:
Roman Golyshev
2023-06-20 15:52:53 +02:00
committed by teamcity
parent 807df9a120
commit c81b22e7de
2 changed files with 1 additions and 22 deletions
@@ -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 <R> wrapError(element: KtElement, action: () -> R): R {
return try {
action()
@@ -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<KtCallCandidateInfo>
@KtAnalysisApiInternals
public open fun unresolvedKtCallError(psi: KtElement): KtErrorCallInfo {
public fun unresolvedKtCallError(psi: KtElement): KtErrorCallInfo {
return KtErrorCallInfo(
_candidateCalls = emptyList(),
KtNonBoundToPsiErrorDiagnostic(factoryName = null, "Unresolved call", token),