From b31def0bae3ae01322fb2fe731048fb3cd47cf82 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Fri, 13 Nov 2020 19:58:05 +0300 Subject: [PATCH] FIR IDE: invalidate analysis session on project roots change --- .../idea/frontend/api/fir/KtFirAnalysisSessionProvider.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/KtFirAnalysisSessionProvider.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/KtFirAnalysisSessionProvider.kt index 75e6fcdad89..3497ef52c73 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/KtFirAnalysisSessionProvider.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/KtFirAnalysisSessionProvider.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.idea.frontend.api.fir import com.intellij.openapi.project.Project +import com.intellij.openapi.roots.ProjectRootModificationTracker import com.intellij.psi.util.CachedValueProvider import com.intellij.psi.util.CachedValuesManager import com.intellij.psi.util.PsiModificationTracker @@ -21,12 +22,13 @@ import org.jetbrains.kotlin.psi.KtElement import java.util.concurrent.ConcurrentHashMap @OptIn(InvalidWayOfUsingAnalysisSession::class) -internal class KtFirAnalysisSessionProvider(project: Project) : KtAnalysisSessionProvider() { +class KtFirAnalysisSessionProvider(project: Project) : KtAnalysisSessionProvider() { private val analysisSessionByModuleInfoCache = CachedValuesManager.getManager(project).createCachedValue { CachedValueProvider.Result( ConcurrentHashMap(), - PsiModificationTracker.MODIFICATION_COUNT + PsiModificationTracker.MODIFICATION_COUNT, + ProjectRootModificationTracker.getInstance(project) ) }