Scripting: fix lost caches clearing call
This commit is contained in:
+4
-3
@@ -214,7 +214,8 @@ internal abstract class AbstractScriptConfigurationManager(
|
|||||||
override fun clearConfigurationCachesAndRehighlight() {
|
override fun clearConfigurationCachesAndRehighlight() {
|
||||||
ScriptDependenciesModificationTracker.getInstance(project).incModificationCount()
|
ScriptDependenciesModificationTracker.getInstance(project).incModificationCount()
|
||||||
|
|
||||||
// todo: invalidate caches?
|
cache.clear()
|
||||||
|
clearClassRootsCaches()
|
||||||
|
|
||||||
if (project.isOpen) {
|
if (project.isOpen) {
|
||||||
val openedScripts = FileEditorManager.getInstance(project).openFiles.filterNot { it.isNonScript() }
|
val openedScripts = FileEditorManager.getInstance(project).openFiles.filterNot { it.isNonScript() }
|
||||||
@@ -261,7 +262,7 @@ internal abstract class AbstractScriptConfigurationManager(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun newClassRootsCache() = object : ScriptClassRootsCache(project) {
|
private fun newClassRootsCache() = object : ScriptClassRootsCache(project) {
|
||||||
override val all get() = cache.allApplied()
|
override val all = cache.allApplied()
|
||||||
override fun getConfiguration(file: VirtualFile) =
|
override fun getConfiguration(file: VirtualFile) =
|
||||||
this@AbstractScriptConfigurationManager.getConfiguration(file)
|
this@AbstractScriptConfigurationManager.getConfiguration(file)
|
||||||
}
|
}
|
||||||
@@ -285,7 +286,7 @@ internal abstract class AbstractScriptConfigurationManager(
|
|||||||
|
|
||||||
override fun getScriptSdk(file: VirtualFile): Sdk? = classpathRoots.getScriptSdk(file)
|
override fun getScriptSdk(file: VirtualFile): Sdk? = classpathRoots.getScriptSdk(file)
|
||||||
|
|
||||||
override fun getFirstScriptsSdk(): Sdk? = classpathRoots.getFirstScriptsSdk()
|
override fun getFirstScriptsSdk(): Sdk? = classpathRoots.firstScriptSdk
|
||||||
|
|
||||||
override fun getScriptDependenciesClassFilesScope(file: VirtualFile): GlobalSearchScope =
|
override fun getScriptDependenciesClassFilesScope(file: VirtualFile): GlobalSearchScope =
|
||||||
classpathRoots.getScriptDependenciesClassFilesScope(file)
|
classpathRoots.getScriptDependenciesClassFilesScope(file)
|
||||||
|
|||||||
+1
@@ -32,6 +32,7 @@ interface ScriptConfigurationCache {
|
|||||||
fun markOutOfDate(file: VirtualFile)
|
fun markOutOfDate(file: VirtualFile)
|
||||||
|
|
||||||
fun allApplied(): Collection<Pair<VirtualFile, ScriptCompilationConfigurationWrapper>>
|
fun allApplied(): Collection<Pair<VirtualFile, ScriptCompilationConfigurationWrapper>>
|
||||||
|
fun clear()
|
||||||
}
|
}
|
||||||
|
|
||||||
data class ScriptConfigurationState(
|
data class ScriptConfigurationState(
|
||||||
|
|||||||
+5
@@ -54,4 +54,9 @@ open class ScriptConfigurationMemoryCache(
|
|||||||
if (it.value.applied?.configuration == null) null
|
if (it.value.applied?.configuration == null) null
|
||||||
else it.key to it.value.applied?.configuration
|
else it.key to it.value.applied?.configuration
|
||||||
} as Collection<Pair<VirtualFile, ScriptCompilationConfigurationWrapper>>
|
} as Collection<Pair<VirtualFile, ScriptCompilationConfigurationWrapper>>
|
||||||
|
|
||||||
|
@Synchronized
|
||||||
|
override fun clear() {
|
||||||
|
memoryCache.clear()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user