ScriptConfigurationManager, outsider files: search in roots cache too
This commit is contained in:
+9
-1
@@ -179,8 +179,16 @@ class DefaultScriptingSupport(manager: CompositeScriptConfigurationManager) : De
|
||||
}
|
||||
|
||||
private val loadingContext = object : ScriptConfigurationLoadingContext {
|
||||
/**
|
||||
* Used from [ScriptOutsiderFileConfigurationLoader] only.
|
||||
*/
|
||||
override fun getCachedConfiguration(file: VirtualFile): ScriptConfigurationSnapshot? =
|
||||
getAppliedConfiguration(file)
|
||||
getAppliedConfiguration(file) ?: getFromGlobalCache(file)
|
||||
|
||||
private fun getFromGlobalCache(file: VirtualFile): ScriptConfigurationSnapshot? {
|
||||
val info = manager.getLightScriptInfo(file.path) ?: return null
|
||||
return ScriptConfigurationSnapshot(CachedConfigurationInputs.UpToDate, listOf(), info.buildConfiguration())
|
||||
}
|
||||
|
||||
override fun suggestNewConfiguration(file: VirtualFile, newResult: ScriptConfigurationSnapshot) {
|
||||
suggestOrSaveConfiguration(file, newResult, false)
|
||||
|
||||
+4
@@ -63,6 +63,10 @@ interface CachedConfigurationInputs: Serializable {
|
||||
override fun isUpToDate(project: Project, file: VirtualFile, ktFile: KtFile?): Boolean = false
|
||||
}
|
||||
|
||||
object UpToDate: CachedConfigurationInputs {
|
||||
override fun isUpToDate(project: Project, file: VirtualFile, ktFile: KtFile?): Boolean = true
|
||||
}
|
||||
|
||||
data class PsiModificationStamp(
|
||||
val fileModificationStamp: Long,
|
||||
val psiModificationStamp: Long
|
||||
|
||||
Reference in New Issue
Block a user