mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-143804 IAE at gnu.trove.TObjectHash.throwObjectContractViolation
This commit is contained in:
@@ -233,13 +233,11 @@ public abstract class RunConfigurationProducer<T extends RunConfiguration> {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public ConfigurationFromContext createLightConfiguration(@NotNull final ConfigurationContext context) {
|
||||
public RunConfiguration createLightConfiguration(@NotNull final ConfigurationContext context) {
|
||||
RunConfiguration configuration = myConfigurationFactory.createTemplateConfiguration(context.getProject());
|
||||
RunnerAndConfigurationSettings settings =
|
||||
RunManager.getInstance(context.getProject()).createConfiguration(configuration, myConfigurationFactory);
|
||||
if (!setupConfigurationFromContext((T)configuration, context, new Ref<PsiElement>(context.getPsiLocation()))) {
|
||||
return null;
|
||||
}
|
||||
return new ConfigurationFromContextImpl(this, settings, context.getPsiLocation());
|
||||
return configuration;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,11 +21,11 @@ import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.ExecutorRegistry;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.PsiLocation;
|
||||
import com.intellij.execution.actions.BaseRunConfigurationAction;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.execution.actions.ConfigurationFromContext;
|
||||
import com.intellij.execution.actions.RunConfigurationProducer;
|
||||
import com.intellij.execution.actions.*;
|
||||
import com.intellij.execution.configurations.LocatableConfiguration;
|
||||
import com.intellij.execution.configurations.RunConfiguration;
|
||||
import com.intellij.execution.impl.RunManagerImpl;
|
||||
import com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.editor.markup.GutterIconRenderer;
|
||||
import com.intellij.openapi.util.UserDataHolderBase;
|
||||
@@ -154,7 +154,7 @@ public class RunLineMarkerInfo extends LineMarkerInfo<PsiElement> {
|
||||
new Function<RunConfigurationProducer<?>, ConfigurationFromContext>() {
|
||||
@Override
|
||||
public ConfigurationFromContext fun(RunConfigurationProducer<?> producer) {
|
||||
return producer.createLightConfiguration(context);
|
||||
return createConfiguration(producer, context);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -163,4 +163,12 @@ public class RunLineMarkerInfo extends LineMarkerInfo<PsiElement> {
|
||||
String actionName = BaseRunConfigurationAction.suggestRunActionName((LocatableConfiguration)list.get(0).getConfiguration());
|
||||
return executor.getStartActionText(actionName);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private ConfigurationFromContext createConfiguration(RunConfigurationProducer<?> producer, ConfigurationContext context) {
|
||||
RunConfiguration configuration = producer.createLightConfiguration(context);
|
||||
if (configuration == null) return null;
|
||||
RunnerAndConfigurationSettingsImpl settings = new RunnerAndConfigurationSettingsImpl(RunManagerImpl.getInstanceImpl(context.getProject()), configuration, false);
|
||||
return new ConfigurationFromContextImpl(producer, settings, getElement());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user