IDEA-143804 IAE at gnu.trove.TObjectHash.throwObjectContractViolation

This commit is contained in:
Dmitry Avdeev
2015-08-17 15:47:43 +03:00
parent d474bb8a4e
commit 8d5ac4f22c
2 changed files with 15 additions and 9 deletions
@@ -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());
}
}