package com.intellij.remoteServer.ir;

import com.intellij.execution.Platform;
import com.intellij.execution.configurations.GeneralCommandLine;
import com.intellij.execution.process.ProcessHandler;

import java.util.List;
import java.util.Map;

public class IR {

  interface PathId {
  }

  interface PortId {
    int getRemotePort();
  }

  interface RemoteRunner {
    Platform getRemotePlatform();

    RemoteEnvironmentRequest createRequest();

    RemoteEnvironment prepareRemoteEnvironment(RemoteEnvironmentRequest request) throws Exception;
  }

  interface RemoteEnvironment {
    Platform getPlatform();

    Map<String, String> getEnvVars();

    String findRemotePath(PathId pathId);

    ProcessHandler createProcessHandler(NewCommandLine commandLine);
  }

  interface RemoteEnvironmentRequest {
    PathId requestTransfer(String localPath);

    PathId requestRemoteFile(String remotePath);

    PortId requestPortMapping(int remotePort);
  }

  interface NewCommandLine {

    /**
     * {@link GeneralCommandLine#getPreparedCommandLine()}
     */
    List<String> prepareCommandLine(RemoteEnvironment target);

    void setExePath(PathId path);

    void setWorkingDirectory(PathId path);

    void addPathParameter(String name, PathId value);

    void addEnvVar(String name, PathId value);
  }
}

@@ -255,24 +255,31 @@
 ass IR %7B%0A%0A  
+public 
 interface Pa
@@ -284,32 +284,39 @@
 PathId %7B%0A  %7D%0A%0A  
+public 
 interface PortId
@@ -342,32 +342,39 @@
 ePort();%0A  %7D%0A%0A  
+public 
 interface Remote
@@ -562,32 +562,39 @@
 ception;%0A  %7D%0A%0A  
+public 
 interface Remote
@@ -786,32 +786,39 @@
 ndLine);%0A  %7D%0A%0A  
+public 
 interface Remote
@@ -989,16 +989,23 @@
 %0A  %7D%0A%0A  
+public 
 interfac

Make interfaces public