diff --git a/compiler/src/main/cpp/capnpc-java.c++ b/compiler/src/main/cpp/capnpc-java.c++ index 54744ae..5226bc4 100644 --- a/compiler/src/main/cpp/capnpc-java.c++ +++ b/compiler/src/main/cpp/capnpc-java.c++ @@ -1137,6 +1137,9 @@ private: spaces(indent), " }\n", spaces(indent), " public void set", titleCase, "(", serverType, " value) {\n", spaces(indent), " this.set", titleCase, "(new ", clientType, "(value));\n", + spaces(indent), " }\n", + spaces(indent), " public void set", titleCase, "(java.util.concurrent.CompletableFuture value) {\n", + spaces(indent), " this.set", titleCase, "(new ", clientType, "(value));\n", spaces(indent), " }\n" ), @@ -1825,7 +1828,7 @@ private: sp, " public Client(org.capnproto.ClientHook hook) { super(hook); }\n", sp, " public Client(org.capnproto.Capability.Client cap) { super(cap); }\n", sp, " public Client(Server server) { super(server); }\n", - sp, " public Client(java.util.concurrent.CompletionStage promise) {\n", + sp, " public Client(java.util.concurrent.CompletionStage promise) {\n", sp, " super(promise);\n", sp, " }\n", sp, " public static final class Methods {\n", diff --git a/runtime-rpc/src/test/java/org/capnproto/RpcTest.java b/runtime-rpc/src/test/java/org/capnproto/RpcTest.java index 4fcbac6..4c8faa9 100644 --- a/runtime-rpc/src/test/java/org/capnproto/RpcTest.java +++ b/runtime-rpc/src/test/java/org/capnproto/RpcTest.java @@ -484,7 +484,7 @@ public class RpcTest { { var req = client.holdRequest(); - req.getParams().setCap(new Test.TestInterface.Client(paf)); + req.getParams().setCap(paf); req.send().join(); } diff --git a/runtime/src/main/java/org/capnproto/Capability.java b/runtime/src/main/java/org/capnproto/Capability.java index cfb9f68..75bb986 100644 --- a/runtime/src/main/java/org/capnproto/Capability.java +++ b/runtime/src/main/java/org/capnproto/Capability.java @@ -117,9 +117,9 @@ public final class Capability { this.hook = hook; } - public Client(CompletionStage promise) { + public Client(CompletionStage promise) { this(Capability.newLocalPromiseClient( - promise.thenApply(client -> client.getHook()))); + promise.thenApply(Client::getHook))); } public Client(Throwable exc) {