No reason for that. I had to implement the code from scratch and didnt pay 
attention to the signatures. 
Thanks for the hint!

On Tuesday, September 6, 2016 at 1:48:09 AM UTC+3, Ian Preston wrote:
>
> Thanks, Andrei. That looks great! Is there a reason you've changed the 
> signatures on some of the CompletableFuture methods?
>
> E.g. in the JRE,
> public <U> CompletableFuture<U> thenApply(Function<? super T,? extends U> 
> fn)
>
> has become
>
> public <U> CompletionStage<U> thenApply(Function<? super T, ? extends U> 
> fn)
>
>
> On Monday, 5 September 2016 09:47:10 UTC+1, Andrei Korzhevskii wrote:
>>
>> I guess you need to super-source this class so the gwt compiler could use 
>> it.
>>
>> You can take a look at my initial CompletableFuture implementation here:
>>
>> https://github.com/nordligulv/gwt/tree/completable-future
>>
>> https://github.com/nordligulv/gwt/commit/ea70c5358bac3c939cb0c1628a58ccc462cd7423
>>
>> Feel free to use it but note that I haven't tested it properly yet.
>>
>>
>>
>> On Monday, September 5, 2016 at 3:28:27 AM UTC+3, Ian Preston wrote:
>>>
>>> I'm trying to emulate CompletableFuture by backing directly onto 
>>> Promise, but when compiling it gives this error: 
>>> "No source code is available for type 
>>> java.util.concurrent.CompletableFuture<T>"
>>> (it finds other JRE classes I've replaced fine)
>>>
>>> My source I'm including is below. Am I doing anything illegal?
>>> ********************************************
>>> package java.util.concurrent;
>>>
>>> import com.google.gwt.user.client.*;
>>> import jsinterop.annotations.*;
>>>
>>> import java.util.function.*;
>>>
>>> @JsType(isNative=true, name = "Promise", namespace = JsPackage.GLOBAL)
>>> public class CompletableFuture<T> implements CompletionStage<T> {
>>>
>>>     @JsMethod(name = "then")
>>>     public native <U> CompletableFuture<U> thenApply(Function<? super 
>>> T,? extends U> fn);
>>>
>>>     @JsMethod(name = "then")
>>>     public native CompletableFuture<Void> thenAccept(Consumer<? super T> 
>>> action);
>>>
>>>     @JsMethod(name = "then")
>>>     public native <U> CompletableFuture<U> thenCompose(Function<? super 
>>> T, ? extends CompletionStage<U>> fn);
>>>
>>>     @JsMethod(name = "reject")
>>>     public native boolean completeExceptionally(Throwable ex);
>>>
>>>     @JsMethod(name = "resolve")
>>>     public native boolean complete(T value);
>>>
>>>     @JsMethod(name = "resolve")
>>>     public static native <U> CompletableFuture<U> completedFuture(U 
>>> value);
>>>
>>>     @JsOverlay
>>>     public T get() throws InterruptedException, ExecutionException {
>>>         Window.alert("Calling synchronous get() on CompletableFuture is 
>>> not possible in Javascript!");
>>>         throw new IllegalStateException("Unimplemented!");
>>>     }
>>> }
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to