From 33ac487a4279ecfb6d09b37d14a0be4e0ca6ed23 Mon Sep 17 00:00:00 2001 From: Pavel Kirpichenkov Date: Mon, 7 Sep 2020 14:12:57 +0300 Subject: [PATCH] [FIR-IDE] Fix leaking KtAnalysisSession --- .../api/fir/components/KtFirCompletionCandidateChecker.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirCompletionCandidateChecker.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirCompletionCandidateChecker.kt index c5cb52e5c23..d4de06cce14 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirCompletionCandidateChecker.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirCompletionCandidateChecker.kt @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.idea.frontend.api.fir.KtFirAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.KtFirFunctionSymbol import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.KtFirPropertySymbol import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.KtFirSymbol +import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef import org.jetbrains.kotlin.idea.frontend.api.symbols.KtCallableSymbol import org.jetbrains.kotlin.idea.frontend.api.withValidityAssertion import org.jetbrains.kotlin.idea.util.getElementTextInContext @@ -29,9 +30,11 @@ import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType import org.jetbrains.kotlin.utils.addToStdlib.safeAs internal class KtFirCompletionCandidateChecker( - override val analysisSession: KtFirAnalysisSession, + analysisSession: KtFirAnalysisSession, override val token: ValidityToken, ) : KtCompletionCandidateChecker(), KtFirAnalysisSessionComponent { + override val analysisSession: KtFirAnalysisSession by weakRef(analysisSession) + private val completionContextCache = HashMap, LowLevelFirApiFacade.FirCompletionContext>() override fun checkExtensionFitsCandidate(