Make return type of KotlinScriptDefinitionProvider.getInstance nullable
For example service can be absent in Kotlin JS only compiler.
This commit is contained in:
committed by
Zalim Bashorov
parent
d5bcf18e5c
commit
2c69198926
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user