From 6663d72383f1990bc56dea9eb6796e06517aa992 Mon Sep 17 00:00:00 2001 From: "Ilya.Kazakevich" Date: Thu, 8 May 2025 23:15:23 +0200 Subject: [PATCH] Extract interface in eel process result. We store this result as a field a need a delegation GitOrigin-RevId: 5fc75915349fd5536cc6f148150e59eed96bb6e3 --- .../eel/provider/utils/eelProcessUtils.kt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/platform/eel-provider/src/com/intellij/platform/eel/provider/utils/eelProcessUtils.kt b/platform/eel-provider/src/com/intellij/platform/eel/provider/utils/eelProcessUtils.kt index dcbec77f3245..a0f56543496a 100644 --- a/platform/eel-provider/src/com/intellij/platform/eel/provider/utils/eelProcessUtils.kt +++ b/platform/eel-provider/src/com/intellij/platform/eel/provider/utils/eelProcessUtils.kt @@ -5,7 +5,6 @@ package com.intellij.platform.eel.provider.utils import com.intellij.openapi.util.IntellijInternalApi import com.intellij.platform.eel.* -import com.intellij.platform.eel.path.EelPath import com.intellij.platform.eel.provider.ResultErrImpl import com.intellij.platform.eel.provider.ResultOkImpl import com.intellij.platform.eel.provider.getEelDescriptor @@ -21,10 +20,19 @@ import kotlin.io.path.pathString import kotlin.time.Duration import kotlin.time.Duration.Companion.days -val EelProcessExecutionResult.stdoutString: String get() = String(stdout) -val EelProcessExecutionResult.stderrString: String get() = String(stderr) +/** + * To simplify [EelProcessExecutionResult] delegation + */ +interface EelProcessExecutionResultInfo { + val exitCode: Int + val stdout: ByteArray + val stderr: ByteArray +} -class EelProcessExecutionResult(val exitCode: Int, val stdout: ByteArray, val stderr: ByteArray) +val EelProcessExecutionResultInfo.stdoutString: String get() = String(stdout) +val EelProcessExecutionResultInfo.stderrString: String get() = String(stderr) + +class EelProcessExecutionResult(override val exitCode: Int, override val stdout: ByteArray, override val stderr: ByteArray) : EelProcessExecutionResultInfo /** * Function that awaits the completion of an [EelProcess] and retrieves its execution result,