diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirAnalysisSessionComponent.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirAnalysisSessionComponent.kt index 9091d8e9ca6..58e22892b04 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirAnalysisSessionComponent.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirAnalysisSessionComponent.kt @@ -52,10 +52,8 @@ internal interface KtFirAnalysisSessionComponent { fun ConeDiagnostic.asKtDiagnostic( source: KtSourceElement, qualifiedAccessSource: KtSourceElement?, - diagnosticCache: MutableList ): KtDiagnosticWithPsi<*>? { val firDiagnostic = toFirDiagnostics(analysisSession.useSiteSession, source, qualifiedAccessSource).firstOrNull() ?: return null - diagnosticCache += firDiagnostic check(firDiagnostic is KtPsiDiagnostic) return firDiagnostic.asKtDiagnostic() } 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 5e63fddba8e..c72182faa2f 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 @@ -66,8 +66,6 @@ internal class KtFirCallResolver( override val analysisSession: KtFirAnalysisSession, override val token: ValidityToken, ) : AbstractKtCallResolver(), KtFirAnalysisSessionComponent { - private val diagnosticCache = mutableListOf() - private val equalsSymbolInAny: FirNamedFunctionSymbol by lazy(LazyThreadSafetyMode.PUBLICATION) { val session = analysisSession.useSiteSession val scope = session.declaredMemberScope(session.builtinTypes.anyType.toRegularClassSymbol(session)!!) @@ -150,7 +148,7 @@ internal class KtFirCallResolver( } is FirErrorNamedReference -> { val diagnostic = calleeReference.diagnostic - val ktDiagnostic = (source?.let { diagnostic.asKtDiagnostic(it, psi.toKtPsiSourceElement(), diagnosticCache) } + val ktDiagnostic = (source?.let { diagnostic.asKtDiagnostic(it, psi.toKtPsiSourceElement()) } ?: KtNonBoundToPsiErrorDiagnostic(factoryName = null, diagnostic.reason, token)) if (diagnostic is ConeHiddenCandidateError) @@ -171,8 +169,7 @@ internal class KtFirCallResolver( val delegatedConstructorCall = this as? FirDelegatedConstructorCall ?: return null val errorTypeRef = delegatedConstructorCall.constructedTypeRef as? FirErrorTypeRef ?: return null val psiSource = psi.toKtPsiSourceElement() - val ktDiagnostic = - errorTypeRef.diagnostic.asKtDiagnostic(source ?: psiSource, psiSource, diagnosticCache) ?: return null + val ktDiagnostic = errorTypeRef.diagnostic.asKtDiagnostic(source ?: psiSource, psiSource) ?: return null KtErrorCallInfo(emptyList(), ktDiagnostic, token) } else -> null @@ -812,7 +809,7 @@ internal class KtFirCallResolver( val diagnostic = createConeDiagnosticForCandidateWithError(candidate.currentApplicability, candidate) if (diagnostic is ConeHiddenCandidateError) return null val ktDiagnostic = - functionCall.source?.let { diagnostic.asKtDiagnostic(it, element.toKtPsiSourceElement(), diagnosticCache) } + functionCall.source?.let { diagnostic.asKtDiagnostic(it, element.toKtPsiSourceElement()) } ?: KtNonBoundToPsiErrorDiagnostic(factoryName = null, diagnostic.reason, token) return KtInapplicableCallCandidateInfo(call, isInBestCandidates, ktDiagnostic) }