package jetbrains.mps.execution.demo.pluginSolution.plugin; /*Generated by MPS */ import jetbrains.mps.debug.api.run.DebuggerRunProfileState; import com.intellij.execution.configurations.RunProfileState; import org.jetbrains.annotations.NotNull; import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.Executor; import com.intellij.execution.configurations.ConfigurationPerRunnerSettings; import com.intellij.execution.configurations.RunnerSettings; import org.jetbrains.annotations.Nullable; import com.intellij.execution.ExecutionResult; import com.intellij.execution.runners.ProgramRunner; import com.intellij.execution.ExecutionException; import com.intellij.openapi.project.Project; import com.intellij.execution.process.ProcessHandler; import jetbrains.mps.baseLanguage.execution.api.Java_Command; import jetbrains.mps.ide.project.ProjectHelper; import com.intellij.execution.ui.ConsoleView; import jetbrains.mps.execution.api.configurations.ConsoleCreator; import jetbrains.mps.execution.api.configurations.DefaultExecutionResult; import jetbrains.mps.execution.api.configurations.DefaultExecutionConsole; import jetbrains.mps.baseLanguage.closures.runtime._FunctionTypes; import jetbrains.mps.debug.api.run.IDebuggerConfiguration; import jetbrains.mps.debug.api.IDebuggerSettings; import jetbrains.mps.debugger.java.api.settings.LocalConnectionSettings; import jetbrains.mps.debug.api.IDebugger; import jetbrains.mps.debug.api.Debuggers; import com.intellij.execution.executors.DefaultRunExecutor; import com.intellij.execution.executors.DefaultDebugExecutor; public class DemoApplication_Configuration_RunProfileState extends DebuggerRunProfileState implements RunProfileState { @NotNull private final DemoApplication_Configuration myConfiguration; @NotNull private final ExecutionEnvironment myEnvironment; public DemoApplication_Configuration_RunProfileState(@NotNull DemoApplication_Configuration configuration, @NotNull Executor executor, @NotNull ExecutionEnvironment environment) { myConfiguration = configuration; myEnvironment = environment; } public ConfigurationPerRunnerSettings getConfigurationSettings() { return null; } public RunnerSettings getRunnerSettings() { return null; } @Nullable public ExecutionResult execute(Executor executor, @NotNull ProgramRunner runner) throws ExecutionException { Project project = myEnvironment.getProject(); { ProcessHandler _processHandler = new Java_Command().setProgramParameter_String("Julia").setVirtualMachineParameter_String(myDebuggerSettings.getCommandLine(true)).createProcess(myConfiguration.getNode().getNodeRef(), ProjectHelper.getProjectRepository(project)); final ConsoleView _consoleView = ConsoleCreator.createConsoleView(project, false); _consoleView.attachToProcess(_processHandler); return new DefaultExecutionResult(_processHandler, new DefaultExecutionConsole(_consoleView.getComponent(), new _FunctionTypes._void_P0_E0() { public void invoke() { _consoleView.dispose(); } })); } } @NotNull public IDebuggerConfiguration getDebuggerConfiguration() { return new IDebuggerConfiguration() { @Nullable public IDebuggerSettings createDebuggerSettings() { return new LocalConnectionSettings(true); } public IDebugger getDebugger() { return Debuggers.getInstance().getDebuggerByName("Java"); } }; } public static boolean canExecute(String executorId) { if (DefaultRunExecutor.EXECUTOR_ID.equals(executorId)) { return true; } if (DefaultDebugExecutor.EXECUTOR_ID.equals(executorId)) { return true; } return false; } }