Remove unused parts

This commit is contained in:
Natalia Selezneva
2020-04-16 16:26:01 +03:00
parent 7ecaf35647
commit da76fff83c
4 changed files with 22 additions and 43 deletions
@@ -30,7 +30,6 @@ interface ScriptConfigurationCache {
fun setApplied(file: VirtualFile, configurationSnapshot: ScriptConfigurationSnapshot) fun setApplied(file: VirtualFile, configurationSnapshot: ScriptConfigurationSnapshot)
fun setLoaded(file: VirtualFile, configurationSnapshot: ScriptConfigurationSnapshot) fun setLoaded(file: VirtualFile, configurationSnapshot: ScriptConfigurationSnapshot)
fun markOutOfDate(scope: ScriptConfigurationCacheScope)
fun allApplied(): Map<VirtualFile, ScriptCompilationConfigurationWrapper> fun allApplied(): Map<VirtualFile, ScriptCompilationConfigurationWrapper>
fun clear() fun clear()
@@ -39,7 +38,6 @@ interface ScriptConfigurationCache {
sealed class ScriptConfigurationCacheScope { sealed class ScriptConfigurationCacheScope {
object All : ScriptConfigurationCacheScope() object All : ScriptConfigurationCacheScope()
class File(val file: KtFile) : ScriptConfigurationCacheScope() class File(val file: KtFile) : ScriptConfigurationCacheScope()
class Except(val file: KtFile) : ScriptConfigurationCacheScope()
} }
data class ScriptConfigurationState( data class ScriptConfigurationState(
@@ -36,29 +36,6 @@ open class ScriptConfigurationMemoryCache(
memoryCache.put(file, old.copy(loaded = configurationSnapshot)) memoryCache.put(file, old.copy(loaded = configurationSnapshot))
} }
@Synchronized
override fun markOutOfDate(scope: ScriptConfigurationCacheScope) {
when (scope) {
is ScriptConfigurationCacheScope.File -> {
val file = scope.file.originalFile.virtualFile
markFileOutOfDate(file)
}
is ScriptConfigurationCacheScope.Except -> {
val file = scope.file.originalFile.virtualFile
memoryCache.entrySet().forEach {
if (it.key != file) {
markFileOutOfDate(it.key)
}
}
}
is ScriptConfigurationCacheScope.All ->{
memoryCache.entrySet().forEach {
markFileOutOfDate(it.key)
}
}
}
}
@Synchronized @Synchronized
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
override fun allApplied(): Map<VirtualFile, ScriptCompilationConfigurationWrapper> { override fun allApplied(): Map<VirtualFile, ScriptCompilationConfigurationWrapper> {
@@ -76,14 +53,4 @@ open class ScriptConfigurationMemoryCache(
memoryCache.clear() memoryCache.clear()
} }
@Synchronized
private fun markFileOutOfDate(file: VirtualFile) {
val old = memoryCache[file] ?: return
memoryCache.put(
file, old.copy(
applied = old.applied?.copy(inputs = CachedConfigurationInputs.OutOfDate),
loaded = old.loaded?.copy(inputs = CachedConfigurationInputs.OutOfDate)
)
)
}
} }
@@ -24,11 +24,6 @@ interface ScriptConfigurationUpdater {
*/ */
fun ensureConfigurationUpToDate(files: List<KtFile>): Boolean fun ensureConfigurationUpToDate(files: List<KtFile>): Boolean
/**
* Invalidate current configuration
*/
fun postponeConfigurationReload(scope: ScriptConfigurationCacheScope)
/** /**
* Suggest to update script configuration if configuration for [file] is out of date * Suggest to update script configuration if configuration for [file] is out of date
*/ */
@@ -10,10 +10,13 @@ import junit.framework.AssertionFailedError
import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle
import org.jetbrains.kotlin.idea.core.script.ScriptConfigurationManager import org.jetbrains.kotlin.idea.core.script.ScriptConfigurationManager
import org.jetbrains.kotlin.idea.core.script.applySuggestedScriptConfiguration import org.jetbrains.kotlin.idea.core.script.applySuggestedScriptConfiguration
import org.jetbrains.kotlin.idea.core.script.configuration.cache.ScriptConfigurationCacheScope import org.jetbrains.kotlin.idea.core.script.configuration.loader.DefaultScriptConfigurationLoader
import org.jetbrains.kotlin.idea.core.script.configuration.loader.ScriptConfigurationLoadingContext
import org.jetbrains.kotlin.idea.core.script.configuration.utils.areSimilar import org.jetbrains.kotlin.idea.core.script.configuration.utils.areSimilar
import org.jetbrains.kotlin.idea.core.script.configuration.utils.getKtFile import org.jetbrains.kotlin.idea.core.script.configuration.utils.getKtFile
import org.jetbrains.kotlin.idea.core.script.hasSuggestedScriptConfiguration import org.jetbrains.kotlin.idea.core.script.hasSuggestedScriptConfiguration
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition
import org.jetbrains.kotlin.scripting.resolve.ScriptCompilationConfigurationWrapper import org.jetbrains.kotlin.scripting.resolve.ScriptCompilationConfigurationWrapper
import org.jetbrains.kotlin.test.JUnitParameterizedWithIdeaConfigurationRunner import org.jetbrains.kotlin.test.JUnitParameterizedWithIdeaConfigurationRunner
import org.jetbrains.kotlin.test.RunnerFactoryWithMuteInDatabase import org.jetbrains.kotlin.test.RunnerFactoryWithMuteInDatabase
@@ -95,8 +98,24 @@ class GradleKtsImportTest : GradleImportingTestCase() {
// reload configuration and check this it is not changed // reload configuration and check this it is not changed
scripts.forEach { scripts.forEach {
scriptConfigurationManager.updater.postponeConfigurationReload(ScriptConfigurationCacheScope.File(it.psiFile)) val reloadedConfiguration = scriptConfigurationManager.forceReloadConfiguration(
val reloadedConfiguration = scriptConfigurationManager.getConfiguration(it.psiFile)!! it.virtualFile,
object : DefaultScriptConfigurationLoader(it.psiFile.project) {
override fun shouldRunInBackground(scriptDefinition: ScriptDefinition) = false
override fun loadDependencies(
isFirstLoad: Boolean,
ktFile: KtFile,
scriptDefinition: ScriptDefinition,
context: ScriptConfigurationLoadingContext
): Boolean {
val vFile = ktFile.originalFile.virtualFile
val result = getConfigurationThroughScriptingApi(ktFile, vFile, scriptDefinition)
context.saveNewConfiguration(vFile, result)
return true
}
}
)
requireNotNull(reloadedConfiguration)
assertTrue(areSimilar(it.imported, reloadedConfiguration)) assertTrue(areSimilar(it.imported, reloadedConfiguration))
it.assertNoSuggestedConfiguration() it.assertNoSuggestedConfiguration()
} }