Invalidate library caches on OOCBM with enabled resolution anchors
Without forced clean stale references to declarations from source-dependent libraries can be accessed after invalidation, i.e. resolved references can point to incorrect PSI. TBD: more granular invalidation. KT-24309
This commit is contained in:
+2
-1
@@ -49,6 +49,7 @@ import org.jetbrains.kotlin.idea.compiler.IDELanguageSettingsProvider
|
|||||||
import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesModificationTracker
|
import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesModificationTracker
|
||||||
import org.jetbrains.kotlin.idea.core.script.dependencies.ScriptAdditionalIdeaDependenciesProvider
|
import org.jetbrains.kotlin.idea.core.script.dependencies.ScriptAdditionalIdeaDependenciesProvider
|
||||||
import org.jetbrains.kotlin.idea.project.TargetPlatformDetector
|
import org.jetbrains.kotlin.idea.project.TargetPlatformDetector
|
||||||
|
import org.jetbrains.kotlin.idea.project.libraryToSourceAnalysisEnabled
|
||||||
import org.jetbrains.kotlin.idea.project.useCompositeAnalysis
|
import org.jetbrains.kotlin.idea.project.useCompositeAnalysis
|
||||||
import org.jetbrains.kotlin.idea.resolve.ResolutionFacade
|
import org.jetbrains.kotlin.idea.resolve.ResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
@@ -204,7 +205,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
|||||||
project, librariesContext, settings,
|
project, librariesContext, settings,
|
||||||
reuseDataFrom = facadeForSdk,
|
reuseDataFrom = facadeForSdk,
|
||||||
moduleFilter = { it is LibraryInfo },
|
moduleFilter = { it is LibraryInfo },
|
||||||
invalidateOnOOCB = false,
|
invalidateOnOOCB = project.libraryToSourceAnalysisEnabled,
|
||||||
dependencies = listOf(
|
dependencies = listOf(
|
||||||
LibraryModificationTracker.getInstance(project),
|
LibraryModificationTracker.getInstance(project),
|
||||||
ProjectRootModificationTracker.getInstance(project)
|
ProjectRootModificationTracker.getInstance(project)
|
||||||
|
|||||||
Reference in New Issue
Block a user