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 } sourceFiles.sortBy { it.virtualFile.path }
KotlinScriptDefinitionProvider.getInstance(project).let { scriptDefinitionProvider -> KotlinScriptDefinitionProvider.getInstance(project)?.let { scriptDefinitionProvider ->
scriptDefinitionProvider.setScriptDefinitions( scriptDefinitionProvider.setScriptDefinitions(
configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS)) 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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with 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.project.Project
import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.PsiFile import com.intellij.psi.PsiFile
import java.util.*
import kotlin.concurrent.read import kotlin.concurrent.read
import kotlin.concurrent.write import kotlin.concurrent.write
@@ -68,13 +67,13 @@ class KotlinScriptDefinitionProvider {
companion object { companion object {
@JvmStatic @JvmStatic
fun getInstance(project: Project): KotlinScriptDefinitionProvider = fun getInstance(project: Project): KotlinScriptDefinitionProvider? =
ServiceManager.getService(project, KotlinScriptDefinitionProvider::class.java) ServiceManager.getService(project, KotlinScriptDefinitionProvider::class.java)
} }
} }
fun getScriptDefinition(file: VirtualFile, project: Project): KotlinScriptDefinition? = fun getScriptDefinition(file: VirtualFile, project: Project): KotlinScriptDefinition? =
KotlinScriptDefinitionProvider.getInstance(project).findScriptDefinition(file) KotlinScriptDefinitionProvider.getInstance(project)?.findScriptDefinition(file)
fun getScriptDefinition(psiFile: PsiFile): KotlinScriptDefinition? = 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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with 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); 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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -91,7 +91,7 @@ class KotlinConsoleRunner(
override fun finishConsole() { override fun finishConsole() {
KotlinConsoleKeeper.getInstance(project).removeConsole(consoleView.virtualFile) KotlinConsoleKeeper.getInstance(project).removeConsole(consoleView.virtualFile)
KotlinScriptDefinitionProvider.getInstance(project).removeScriptDefinition(consoleScriptDefinition) KotlinScriptDefinitionProvider.getInstance(project)!!.removeScriptDefinition(consoleScriptDefinition)
if (ApplicationManager.getApplication().isUnitTestMode) { if (ApplicationManager.getApplication().isUnitTestMode) {
consoleTerminated.countDown() consoleTerminated.countDown()
@@ -157,7 +157,7 @@ class KotlinConsoleRunner(
val executeAction = KtExecuteCommandAction(consoleView.virtualFile) val executeAction = KtExecuteCommandAction(consoleView.virtualFile)
executeAction.registerCustomShortcutSet(CommonShortcuts.CTRL_ENTER, consoleView.consoleEditor.component) executeAction.registerCustomShortcutSet(CommonShortcuts.CTRL_ENTER, consoleView.consoleEditor.component)
KotlinScriptDefinitionProvider.getInstance(project).addScriptDefinition(consoleScriptDefinition) KotlinScriptDefinitionProvider.getInstance(project)!!.addScriptDefinition(consoleScriptDefinition)
enableCompletion(consoleView) enableCompletion(consoleView)
return consoleView return consoleView