override suspend fun create()

in Frontend/src/main/kotlin/com/jetbrains/fortea/configuration/run/execution/T4ExecutorFactory.kt [21:46]


  override suspend fun create(
    executorId: String,
    environment: ExecutionEnvironment,
    lifetime: Lifetime,
  ): RunProfileState {
    val dotNetExecutable = parameters.toDotNetExecutableSuspending(ProcessExecutionDetails.Default)
    val runtimeToExecute = DotNetRuntime.detectRuntimeForExeOrThrow(
      environment.project,
      riderDotNetActiveRuntimeHost,
      dotNetExecutable.exePath,
      dotNetExecutable.runtimeType,
      dotNetExecutable.projectTfm
    )
    val model = environment.project.solution.t4ProtocolModel
    return when (executorId) {
      DefaultRunExecutor.EXECUTOR_ID -> {
        val wrappee = runtimeToExecute.createRunState(dotNetExecutable, environment)
        T4RunProfileWrapperState(wrappee, model, parameters)
      }
      DefaultDebugExecutor.EXECUTOR_ID -> {
        val wrappee = runtimeToExecute.createDebugState(dotNetExecutable, environment)
        T4DebugProfileWrapperState(wrappee, model, parameters)
      }
      else -> throw CantRunException("Unsupported executor $executorId")
    }
  }