Make return type of KotlinScriptDefinitionProvider.getInstance nullable

For example service can be absent in Kotlin JS only compiler.
This commit is contained in:
Zalim Bashorov
2017-04-18 13:45:59 +03:00
committed by Zalim Bashorov
parent d5bcf18e5c
commit 2c69198926
4 changed files with 12 additions and 11 deletions
@@ -179,7 +179,7 @@ class KotlinCoreEnvironment private constructor(
})
sourceFiles.sortBy { it.virtualFile.path }
KotlinScriptDefinitionProvider.getInstance(project).let { scriptDefinitionProvider ->
KotlinScriptDefinitionProvider.getInstance(project)?.let { scriptDefinitionProvider ->
scriptDefinitionProvider.setScriptDefinitions(
configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS))
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2016 JetBrains s.r.o.
* Copyright 2010-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,7 +21,6 @@ import com.intellij.openapi.fileTypes.LanguageFileType
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.PsiFile
import java.util.*
import kotlin.concurrent.read
import kotlin.concurrent.write
@@ -68,13 +67,13 @@ class KotlinScriptDefinitionProvider {
companion object {
@JvmStatic
fun getInstance(project: Project): KotlinScriptDefinitionProvider =
fun getInstance(project: Project): KotlinScriptDefinitionProvider? =
ServiceManager.getService(project, KotlinScriptDefinitionProvider::class.java)
}
}
fun getScriptDefinition(file: VirtualFile, project: Project): KotlinScriptDefinition? =
KotlinScriptDefinitionProvider.getInstance(project).findScriptDefinition(file)
KotlinScriptDefinitionProvider.getInstance(project)?.findScriptDefinition(file)
fun getScriptDefinition(psiFile: PsiFile): KotlinScriptDefinition? =
KotlinScriptDefinitionProvider.getInstance(psiFile.project).findScriptDefinition(psiFile)
KotlinScriptDefinitionProvider.getInstance(psiFile.project)?.findScriptDefinition(psiFile)
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2016 JetBrains s.r.o.
* Copyright 2010-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -133,7 +133,9 @@ public class CodegenTestFiles {
}
}
KotlinScriptDefinitionProvider.getInstance(project).addScriptDefinition(StandardScriptDefinition.INSTANCE);
KotlinScriptDefinitionProvider scriptDefinitionProvider = KotlinScriptDefinitionProvider.getInstance(project);
assert scriptDefinitionProvider != null;
scriptDefinitionProvider.addScriptDefinition(StandardScriptDefinition.INSTANCE);
return new CodegenTestFiles(Collections.singletonList(file), expectedValues, scriptParameterValues);
}
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2016 JetBrains s.r.o.
* Copyright 2010-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -91,7 +91,7 @@ class KotlinConsoleRunner(
override fun finishConsole() {
KotlinConsoleKeeper.getInstance(project).removeConsole(consoleView.virtualFile)
KotlinScriptDefinitionProvider.getInstance(project).removeScriptDefinition(consoleScriptDefinition)
KotlinScriptDefinitionProvider.getInstance(project)!!.removeScriptDefinition(consoleScriptDefinition)
if (ApplicationManager.getApplication().isUnitTestMode) {
consoleTerminated.countDown()
@@ -157,7 +157,7 @@ class KotlinConsoleRunner(
val executeAction = KtExecuteCommandAction(consoleView.virtualFile)
executeAction.registerCustomShortcutSet(CommonShortcuts.CTRL_ENTER, consoleView.consoleEditor.component)
KotlinScriptDefinitionProvider.getInstance(project).addScriptDefinition(consoleScriptDefinition)
KotlinScriptDefinitionProvider.getInstance(project)!!.addScriptDefinition(consoleScriptDefinition)
enableCompletion(consoleView)
return consoleView