AsyncPromise — cleanup

This commit is contained in:
Vladimir Krivosheev
2016-07-01 13:04:39 +02:00
parent 0e5e0725e9
commit 96e64198e2
5 changed files with 8 additions and 20 deletions
@@ -30,7 +30,7 @@ class DonePromise<T> extends Promise<T> implements Getter<T> {
@NotNull
@Override
public Promise<T> done(@NotNull Consumer<? super T> done) {
if (!AsyncPromise.isObsolete(done)) {
if (!AsyncPromiseKt.isObsolete(done)) {
done.consume(result);
}
return this;
@@ -42,7 +42,7 @@ class RejectedPromise<T> extends Promise<T> {
@NotNull
@Override
public Promise<T> rejected(@NotNull Consumer<Throwable> rejected) {
if (!AsyncPromise.isObsolete(rejected)) {
if (!AsyncPromiseKt.isObsolete(rejected)) {
rejected.consume(error);
}
return this;
@@ -82,8 +82,6 @@ inline fun Promise<*>.rejected(node: Obsolescent, crossinline handler: (Throwabl
fun <T> rejectedPromise(error: String): Promise<T> = Promise.reject(error)
fun <T> rejectedPromise(error: Throwable): Promise<T> = Promise.reject(error)
@Suppress("UNCHECKED_CAST")
fun <T> rejectedPromise(): Promise<T> = rejectedPromise as Promise<T>
@@ -96,16 +94,6 @@ val Promise<*>.isPending: Boolean
val Promise<*>.isFulfilled: Boolean
get() = state == Promise.State.FULFILLED
inline fun <T> AsyncPromise<*>.catchError(runnable: () -> T): T? {
try {
return runnable()
}
catch (e: Throwable) {
setError(e)
return null
}
}
fun <T> collectResults(promises: List<Promise<T>>): Promise<List<T>> {
if (promises.isEmpty()) {
return resolvedPromise(emptyList())
@@ -15,7 +15,7 @@
*/
package org.jetbrains.debugger.values
import org.jetbrains.concurrency.AsyncPromise
import org.jetbrains.concurrency.OBSOLETE_ERROR
import org.jetbrains.concurrency.Obsolescent
import org.jetbrains.concurrency.Promise
import org.jetbrains.concurrency.rejectedPromise
@@ -45,9 +45,9 @@ abstract class ValueManager() : Obsolescent {
}
companion object {
val OBSOLETE_CONTEXT_PROMISE = rejectedPromise<Any?>(AsyncPromise.OBSOLETE_ERROR)
val OBSOLETE_CONTEXT_PROMISE = rejectedPromise<Any?>(OBSOLETE_ERROR)
@Suppress("CAST_NEVER_SUCCEEDS")
@Suppress("UNCHECKED_CAST")
fun <T> reject() = OBSOLETE_CONTEXT_PROMISE as Promise<T>
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,14 +16,14 @@
package com.intellij.xdebugger.util
import com.intellij.xdebugger.XDebugSession
import org.jetbrains.concurrency.AsyncPromise
import org.jetbrains.concurrency.OBSOLETE_ERROR
import org.jetbrains.concurrency.Promise
import org.jetbrains.rpc.LOG
// have to use package "com.intellij.xdebugger.util" to avoid package clash
fun XDebugSession.rejectedErrorReporter(description: String? = null): (Throwable) -> Unit = {
Promise.logError(LOG, it)
if (it != AsyncPromise.OBSOLETE_ERROR) {
if (it != OBSOLETE_ERROR) {
reportError("${if (description == null) "" else description + ": "}${it.message}")
}
}