add instanceOrNull because JavaRunConfigurationExtensionManager can be not defined in CLion

This commit is contained in:
Vladimir Krivosheev
2018-09-26 10:58:38 +02:00
parent d4943531a8
commit 08b5bc7e4c
3 changed files with 11 additions and 19 deletions
@@ -4,6 +4,7 @@ package com.intellij.execution
import com.intellij.execution.configuration.RunConfigurationExtensionsManager
import com.intellij.execution.configurations.RunConfigurationBase
import com.intellij.openapi.components.service
import com.intellij.openapi.components.serviceOrNull
import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.diagnostic.runAndLogException
@@ -15,6 +16,10 @@ class JavaRunConfigurationExtensionManager : RunConfigurationExtensionsManager<R
val instance: JavaRunConfigurationExtensionManager
get() = service()
@JvmStatic
val instanceOrNull: JavaRunConfigurationExtensionManager?
get() = serviceOrNull()
@JvmStatic
fun checkConfigurationIsValid(configuration: RunConfigurationBase<*>) {
LOG.runAndLogException {
@@ -134,7 +134,7 @@ public class ExternalSystemRunConfiguration extends LocatableConfigurationBase i
if (e != null) {
mySettings = XmlSerializer.deserialize(e, ExternalSystemTaskExecutionSettings.class);
}
JavaRunConfigurationExtensionManager javaRunConfigurationExtensionManager = JavaRunConfigurationExtensionManager.getInstance();
JavaRunConfigurationExtensionManager javaRunConfigurationExtensionManager = JavaRunConfigurationExtensionManager.getInstanceOrNull();
if (javaRunConfigurationExtensionManager != null) {
javaRunConfigurationExtensionManager.readExternal(this, element);
}
@@ -157,7 +157,7 @@ public class ExternalSystemRunConfiguration extends LocatableConfigurationBase i
}
}
}));
JavaRunConfigurationExtensionManager javaRunConfigurationExtensionManager = JavaRunConfigurationExtensionManager.getInstance();
JavaRunConfigurationExtensionManager javaRunConfigurationExtensionManager = JavaRunConfigurationExtensionManager.getInstanceOrNull();
if (javaRunConfigurationExtensionManager != null) {
javaRunConfigurationExtensionManager.writeExternal(this, element);
}
@@ -174,7 +174,7 @@ public class ExternalSystemRunConfiguration extends LocatableConfigurationBase i
SettingsEditorGroup<ExternalSystemRunConfiguration> group = new SettingsEditorGroup<>();
group.addEditor(ExecutionBundle.message("run.configuration.configuration.tab.title"),
new ExternalSystemRunConfigurationEditor(getProject(), mySettings.getExternalSystemId()));
JavaRunConfigurationExtensionManager javaRunConfigurationExtensionManager = JavaRunConfigurationExtensionManager.getInstance();
JavaRunConfigurationExtensionManager javaRunConfigurationExtensionManager = JavaRunConfigurationExtensionManager.getInstanceOrNull();
if (javaRunConfigurationExtensionManager != null) {
javaRunConfigurationExtensionManager.appendEditors(this, group);
}
@@ -327,7 +327,7 @@ public class ExternalSystemRunConfiguration extends LocatableConfigurationBase i
progressListener == null || buildOutputParsers.isEmpty() ? null :
new BuildOutputInstantReaderImpl(task.getId(), progressListener, buildOutputParsers);
JavaRunConfigurationExtensionManager javaRunConfigurationExtensionManager = JavaRunConfigurationExtensionManager.getInstance();
JavaRunConfigurationExtensionManager javaRunConfigurationExtensionManager = JavaRunConfigurationExtensionManager.getInstanceOrNull();
if (javaRunConfigurationExtensionManager != null) {
javaRunConfigurationExtensionManager.attachExtensionsToProcess(myConfiguration, processHandler, myEnv.getRunnerSettings());
}
@@ -1,18 +1,4 @@
/*
* Copyright 2000-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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.openapi.components
import com.intellij.openapi.components.impl.ComponentManagerImpl
@@ -20,6 +6,7 @@ import com.intellij.openapi.components.impl.stores.IComponentStore
import com.intellij.openapi.project.Project
inline fun <reified T : Any> service(): T = ServiceManager.getService(T::class.java)
inline fun <reified T : Any> serviceOrNull(): T? = ServiceManager.getService(T::class.java)
inline fun <reified T : Any> Project.service(): T = ServiceManager.getService(this, T::class.java)
val ComponentManager.stateStore: IComponentStore