From 0045b501d518b5eeaca6d575444724b923e2a8c1 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Mon, 17 Aug 2020 19:54:27 +0300 Subject: [PATCH] FIR IDE: Fix memory leak in thread locals --- .../idea/frontend/api/fir/components/KtFirScopeProvider.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirScopeProvider.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirScopeProvider.kt index 1e53aaf4867..03dc7103438 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirScopeProvider.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirScopeProvider.kt @@ -51,12 +51,13 @@ import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType import java.util.* internal class KtFirScopeProvider( - override val analysisSession: KtAnalysisSession, + analysisSession: KtAnalysisSession, private val builder: KtSymbolByFirBuilder, private val project: Project, firResolveState: FirModuleResolveState, firScopeRegistry: FirScopeRegistry, ) : KtScopeProvider(), ValidityTokenOwner { + override val analysisSession: KtAnalysisSession by analysisSession.weakRef(analysisSession) private val firResolveState by weakRef(firResolveState) private val firScopeStorage by weakRef(firScopeRegistry)