FIR IDE: invalidate analysis session on project roots change
This commit is contained in:
+4
-2
@@ -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<ModuleInfo, KtAnalysisSession>(),
|
||||
PsiModificationTracker.MODIFICATION_COUNT
|
||||
PsiModificationTracker.MODIFICATION_COUNT,
|
||||
ProjectRootModificationTracker.getInstance(project)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user