remove ObsolescentAsyncFunction, AsyncFunction
authorVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Wed, 29 Jun 2016 14:38:43 +0000 (16:38 +0200)
committerVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Wed, 29 Jun 2016 14:39:48 +0000 (16:39 +0200)
platform/core-api/src/org/jetbrains/concurrency/AsyncFunction.java [deleted file]
platform/core-api/src/org/jetbrains/concurrency/AsyncPromise.java
platform/core-api/src/org/jetbrains/concurrency/DonePromise.java
platform/core-api/src/org/jetbrains/concurrency/ObsolescentAsyncFunction.java [deleted file]
platform/core-api/src/org/jetbrains/concurrency/Promise.java
platform/core-api/src/org/jetbrains/concurrency/RejectedPromise.java
platform/platform-impl/src/org/jetbrains/concurrency/promise.kt
platform/script-debugger/backend/src/org/jetbrains/debugger/values/ObjectValueBase.kt
platform/script-debugger/debugger-ui/testSrc/org/jetbrains/debugger/TestCompositeNode.java

diff --git a/platform/core-api/src/org/jetbrains/concurrency/AsyncFunction.java b/platform/core-api/src/org/jetbrains/concurrency/AsyncFunction.java
deleted file mode 100644 (file)
index d0d419c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2000-2015 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jetbrains.concurrency;
-
-import org.jetbrains.annotations.NotNull;
-
-public interface AsyncFunction<PARAM, RESULT> {
-  @NotNull
-  Promise<RESULT> fun(PARAM param);
-}
\ No newline at end of file
index 5874cfb9b0c450936a21af3d9d222be3993fa6ce..91aba820be771e584ea5e749721521bf29888548 100644 (file)
@@ -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.
@@ -203,7 +203,7 @@ public class AsyncPromise<T> extends Promise<T> implements Getter<T> {
 
   @Override
   @NotNull
-  public <SUB_RESULT> Promise<SUB_RESULT> thenAsync(@NotNull final AsyncFunction<? super T, SUB_RESULT> fulfilled) {
+  public <SUB_RESULT> Promise<SUB_RESULT> thenAsync(@NotNull final Function<? super T, Promise<SUB_RESULT>> fulfilled) {
     switch (state) {
       case PENDING:
         break;
index 1f619862257d36a9537c52cdb1baaa5132d689ad..599bc44b54c3c78e93da98a68831d2e1f7ddca6d 100644 (file)
@@ -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.
@@ -68,7 +68,7 @@ class DonePromise<T> extends Promise<T> implements Getter<T> {
 
   @NotNull
   @Override
-  public <SUB_RESULT> Promise<SUB_RESULT> thenAsync(@NotNull AsyncFunction<? super T, SUB_RESULT> done) {
+  public <SUB_RESULT> Promise<SUB_RESULT> thenAsync(@NotNull Function<? super T, Promise<SUB_RESULT>> done) {
     return done.fun(result);
   }
 
diff --git a/platform/core-api/src/org/jetbrains/concurrency/ObsolescentAsyncFunction.java b/platform/core-api/src/org/jetbrains/concurrency/ObsolescentAsyncFunction.java
deleted file mode 100644 (file)
index c6ffe2f..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright 2000-2015 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jetbrains.concurrency;
-
-public interface ObsolescentAsyncFunction<PARAM, RESULT> extends AsyncFunction<PARAM, RESULT>, Obsolescent {
-}
\ No newline at end of file
index c82d06d153b322af9131c02691b9df29d373401d..e331b50d0c2a4a1b8baab2cb285892a0f130e535 100644 (file)
@@ -152,7 +152,7 @@ public abstract class Promise<T> {
   public abstract <SUB_RESULT> Promise<SUB_RESULT> then(@NotNull Function<? super T, ? extends SUB_RESULT> done);
 
   @NotNull
-  public abstract <SUB_RESULT> Promise<SUB_RESULT> thenAsync(@NotNull AsyncFunction<? super T, SUB_RESULT> done);
+  public abstract <SUB_RESULT> Promise<SUB_RESULT> thenAsync(@NotNull Function<? super T, Promise<SUB_RESULT>> done);
 
   @NotNull
   public abstract State getState();
index d9a8946b1495cceb8c6bf741df6a2b4e903f4bca..c45f0c57b6e76da2b87316eb272fbc45031fad2c 100644 (file)
@@ -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.
@@ -63,7 +63,7 @@ class RejectedPromise<T> extends Promise<T> {
 
   @NotNull
   @Override
-  public <SUB_RESULT> Promise<SUB_RESULT> thenAsync(@NotNull AsyncFunction<? super T, SUB_RESULT> done) {
+  public <SUB_RESULT> Promise<SUB_RESULT> thenAsync(@NotNull Function<? super T, Promise<SUB_RESULT>> done) {
     //noinspection unchecked
     return (Promise<SUB_RESULT>)this;
   }
index a4234aa879f5bff6825054c7ee3f8f940e23371e..6219bfb59c6f3be6ca74a69f0e7f225b1b6a2a63 100644 (file)
@@ -25,7 +25,7 @@ private val rejectedPromise = Promise.reject<Any?>("rejected")
 // only internal usage
 interface ObsolescentFunction<Param, Result> : Function<Param, Result>, Obsolescent
 
-abstract class ValueNodeAsyncFunction<PARAM, RESULT>(private val node: Obsolescent) : AsyncFunction<PARAM, RESULT>, Obsolescent {
+abstract class ValueNodeAsyncFunction<PARAM, RESULT>(private val node: Obsolescent) : Function<PARAM, Promise<RESULT>>, Obsolescent {
   override fun isObsolete() = node.isObsolete
 }
 
@@ -69,9 +69,9 @@ inline fun <T> Promise<T>.thenAsyncAccept(node: Obsolescent, crossinline handler
   override fun `fun`(param: T) = handler(param) as Promise<Any?>
 })
 
-inline fun <T> Promise<T>.thenAsyncAccept(crossinline handler: (T) -> Promise<*>) = thenAsync(AsyncFunction<T, kotlin.Any?> { param ->
+inline fun <T> Promise<T>.thenAsyncAccept(crossinline handler: (T) -> Promise<*>) = thenAsync(Function<T, Promise<kotlin.Any?>> { param ->
   @Suppress("UNCHECKED_CAST")
-  (return@AsyncFunction handler(param) as Promise<Any?>)
+  (return@Function handler(param) as Promise<Any?>)
 })
 
 
index d59dfbf8f8c35528fb7186006c6a3fae515d0a0d..00752737536bfc77917a4974030eb401f11c4079 100644 (file)
@@ -17,7 +17,7 @@ package org.jetbrains.debugger.values
 
 import com.intellij.util.SmartList
 import org.jetbrains.concurrency.Obsolescent
-import org.jetbrains.concurrency.ObsolescentAsyncFunction
+import org.jetbrains.concurrency.ObsolescentFunction
 import org.jetbrains.concurrency.Promise
 import org.jetbrains.concurrency.all
 import org.jetbrains.debugger.EvaluateContext
@@ -31,7 +31,7 @@ abstract class ObjectValueBase<VALUE_LOADER : ValueManager>(type: ValueType) : V
   override val properties: Promise<List<Variable>>
     get() = childrenManager.get()
 
-  internal abstract inner class MyObsolescentAsyncFunction<PARAM, RESULT>(private val obsolescent: Obsolescent) : ObsolescentAsyncFunction<PARAM, RESULT> {
+  internal abstract inner class MyObsolescentAsyncFunction<PARAM, RESULT>(private val obsolescent: Obsolescent) : ObsolescentFunction<PARAM, Promise<RESULT>> {
     override fun isObsolete() = obsolescent.isObsolete || childrenManager.valueManager.isObsolete
   }
 
index 4866807507fa4d6187dbb7efe8e6f9f4aa60abd8..dc507209792cbff3b6aab78e99eb4f3e16b903d2 100644 (file)
@@ -18,10 +18,10 @@ package org.jetbrains.debugger;
 import com.intellij.openapi.util.Condition;
 import com.intellij.openapi.util.Conditions;
 import com.intellij.ui.SimpleTextAttributes;
+import com.intellij.util.Function;
 import com.intellij.xdebugger.frame.*;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
-import org.jetbrains.concurrency.AsyncFunction;
 import org.jetbrains.concurrency.AsyncPromise;
 import org.jetbrains.concurrency.Promise;
 import org.jetbrains.concurrency.Promises;
@@ -106,7 +106,7 @@ public class TestCompositeNode implements XCompositeNode {
     assert content == null;
 
     content = new Content();
-    return result.thenAsync(new AsyncFunction<XValueChildrenList, Content>() {
+    return result.thenAsync(new Function<XValueChildrenList, Promise<Content>>() {
       private void resolveGroups(@NotNull List<XValueGroup> valueGroups, @NotNull List<TestCompositeNode> resultNodes, @NotNull List<Promise<?>> promises) {
         for (XValueGroup group : valueGroups) {
           TestCompositeNode node = new TestCompositeNode(group);