FIR IDE: add validity assertion on analysis session access

This commit is contained in:
Ilya Kirillov
2020-08-26 16:40:06 +03:00
parent db48884a4e
commit 81be230541
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.idea.frontend.api.fir
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.project.Project
import com.intellij.psi.util.CachedValueProvider
import com.intellij.psi.util.CachedValuesManager
@@ -14,6 +13,7 @@ import org.jetbrains.kotlin.analyzer.ModuleInfo
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession
import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSessionProvider
import org.jetbrains.kotlin.idea.frontend.api.assertIsValid
import org.jetbrains.kotlin.psi.KtElement
import java.util.concurrent.ConcurrentHashMap
@@ -30,6 +30,8 @@ class KtFirAnalysisSessionProvider(project: Project) : KtAnalysisSessionProvider
return analysisSessionByModuleInfoCache.value.getOrPut(contextElement.getModuleInfo()) {
@Suppress("DEPRECATION")
KtFirAnalysisSession.createForElement(contextElement)
}.apply {
assertIsValid()
}
}
}