mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
AsyncPromise — cleanup
This commit is contained in:
@@ -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}")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user