Refactor KotlinScriptDefinitionProvider access to scriptDefinitions

This commit is contained in:
Ilya Chernikov
2016-05-30 14:50:25 +02:00
parent f185d3639d
commit 310e8014a8
3 changed files with 11 additions and 9 deletions
@@ -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))
@@ -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<KotlinScriptDefinition> = arrayListOf(StandardScriptDefinition)
var scriptDefinitions: List<KotlinScriptDefinition>
get() = definitions
set(definitions: List<KotlinScriptDefinition>) {
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<KotlinScriptDefinition>) {
this.definitions.clear()
this.definitions.addAll(definitions)
}
fun removeScriptDefinition(scriptDefinition: KotlinScriptDefinition) {
definitions.remove(scriptDefinition)
}
@@ -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
}
}
}