diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt index 062f0e03903..f89d6a1f826 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt @@ -137,9 +137,7 @@ class KotlinCoreEnvironment private constructor( } }) - KotlinScriptDefinitionProvider.getInstance(project).setScriptDefinitions( - configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS) - ) + KotlinScriptDefinitionProvider.getInstance(project).scriptDefinitions = configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS) project.registerService(JvmVirtualFileFinderFactory::class.java, JvmCliVirtualFileFinderFactory(index)) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/script/KotlinScriptDefinitionProvider.kt b/compiler/frontend/src/org/jetbrains/kotlin/script/KotlinScriptDefinitionProvider.kt index d18d933c7c5..724b4b084e7 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/script/KotlinScriptDefinitionProvider.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/script/KotlinScriptDefinitionProvider.kt @@ -19,10 +19,19 @@ package org.jetbrains.kotlin.script import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.VirtualFile +import java.util.* class KotlinScriptDefinitionProvider { + private val definitions: MutableList = arrayListOf(StandardScriptDefinition) + var scriptDefinitions: List + get() = definitions + set(definitions: List) { + this.definitions.clear() + this.definitions.addAll(definitions) + } + fun findScriptDefinition(file: VirtualFile?): KotlinScriptDefinition? = file?.let { file -> definitions.firstOrNull { it.isScript(file) } } fun isScript(file: VirtualFile?): Boolean = findScriptDefinition(file) != null @@ -31,11 +40,6 @@ class KotlinScriptDefinitionProvider { definitions.add(0, scriptDefinition) } - fun setScriptDefinitions(definitions: List) { - this.definitions.clear() - this.definitions.addAll(definitions) - } - fun removeScriptDefinition(scriptDefinition: KotlinScriptDefinition) { definitions.remove(scriptDefinition) } diff --git a/idea/src/org/jetbrains/kotlin/idea/script/KotlinScriptConfigurationManager.kt b/idea/src/org/jetbrains/kotlin/idea/script/KotlinScriptConfigurationManager.kt index 90d53b40dbf..7d9f1397bac 100644 --- a/idea/src/org/jetbrains/kotlin/idea/script/KotlinScriptConfigurationManager.kt +++ b/idea/src/org/jetbrains/kotlin/idea/script/KotlinScriptConfigurationManager.kt @@ -36,7 +36,7 @@ class KotlinScriptConfigurationManager(project: Project, scriptDefinitionProvide init { loadScriptDefinitionsFromDirectoryWithConfigs(File(project.basePath ?: "."), kotlinEnvVars).let { if (it.isNotEmpty()) { - scriptDefinitionProvider.setScriptDefinitions(it + StandardScriptDefinition) + scriptDefinitionProvider.scriptDefinitions = it + StandardScriptDefinition } } }