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( KotlinScriptDefinitionProvider.getInstance(project).scriptDefinitions = configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS)
configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS)
)
project.registerService(JvmVirtualFileFinderFactory::class.java, JvmCliVirtualFileFinderFactory(index)) 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.components.ServiceManager
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFile
import java.util.*
class KotlinScriptDefinitionProvider { class KotlinScriptDefinitionProvider {
private val definitions: MutableList<KotlinScriptDefinition> = arrayListOf(StandardScriptDefinition) 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 findScriptDefinition(file: VirtualFile?): KotlinScriptDefinition? = file?.let { file -> definitions.firstOrNull { it.isScript(file) } }
fun isScript(file: VirtualFile?): Boolean = findScriptDefinition(file) != null fun isScript(file: VirtualFile?): Boolean = findScriptDefinition(file) != null
@@ -31,11 +40,6 @@ class KotlinScriptDefinitionProvider {
definitions.add(0, scriptDefinition) definitions.add(0, scriptDefinition)
} }
fun setScriptDefinitions(definitions: List<KotlinScriptDefinition>) {
this.definitions.clear()
this.definitions.addAll(definitions)
}
fun removeScriptDefinition(scriptDefinition: KotlinScriptDefinition) { fun removeScriptDefinition(scriptDefinition: KotlinScriptDefinition) {
definitions.remove(scriptDefinition) definitions.remove(scriptDefinition)
} }
@@ -36,7 +36,7 @@ class KotlinScriptConfigurationManager(project: Project, scriptDefinitionProvide
init { init {
loadScriptDefinitionsFromDirectoryWithConfigs(File(project.basePath ?: "."), kotlinEnvVars).let { loadScriptDefinitionsFromDirectoryWithConfigs(File(project.basePath ?: "."), kotlinEnvVars).let {
if (it.isNotEmpty()) { if (it.isNotEmpty()) {
scriptDefinitionProvider.setScriptDefinitions(it + StandardScriptDefinition) scriptDefinitionProvider.scriptDefinitions = it + StandardScriptDefinition
} }
} }
} }