diff --git a/platform/projectModel-api/src/org/jetbrains/concurrency/AsyncPromise.kt b/platform/projectModel-api/src/org/jetbrains/concurrency/AsyncPromise.kt index 501e9492da86..6cae878095ec 100644 --- a/platform/projectModel-api/src/org/jetbrains/concurrency/AsyncPromise.kt +++ b/platform/projectModel-api/src/org/jetbrains/concurrency/AsyncPromise.kt @@ -10,7 +10,8 @@ import java.util.concurrent.* import java.util.concurrent.atomic.AtomicBoolean import java.util.function.Consumer -open class AsyncPromise private constructor(private val f: CompletableFuture, private val hasErrorHandler: AtomicBoolean) : CancellablePromise, InternalPromiseUtil.CompletablePromise { +open class AsyncPromise private constructor(private val f: CompletableFuture, + private val hasErrorHandler: AtomicBoolean) : CancellablePromise, InternalPromiseUtil.CompletablePromise { constructor() : this(CompletableFuture(), AtomicBoolean()) override fun isDone() = f.isDone diff --git a/platform/script-debugger/backend/src/rpc/CommandSenderBase.kt b/platform/script-debugger/backend/src/rpc/CommandSenderBase.kt index 40751ebea271..ad476cc19556 100644 --- a/platform/script-debugger/backend/src/rpc/CommandSenderBase.kt +++ b/platform/script-debugger/backend/src/rpc/CommandSenderBase.kt @@ -19,15 +19,10 @@ abstract class CommandSenderBase { class RequestPromise(private val methodName: String?) : AsyncPromise(), RequestCallback { override fun onSuccess(response: SUCCESS_RESPONSE?, resultReader: ResultReader?) { catchError { - val r: Any? - if (resultReader == null || response == null) { - r = response - } - else if (methodName == null) { - r = null - } - else { - r = resultReader.readResult(methodName, response) + val r = when { + resultReader == null || response == null -> response + methodName == null -> null + else -> resultReader.readResult(methodName, response) } UnsafeSetResult.setResult(this, r)