ScriptConfigurationManager, outsider files: search in roots cache too

This commit is contained in:
Sergey Rostov
2020-05-01 16:04:05 +03:00
parent eb672c02fa
commit 7942b4a0d2
2 changed files with 13 additions and 1 deletions
@@ -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)
@@ -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