ilya-biryukov added inline comments.

================
Comment at: clangd/JSONRPCDispatcher.h:60
+/// Current context must derive from JSONRPCDispatcher::Handler.
+void reply(json::Expr &&Result);
+/// Sends an error response to the client, and logs it.
----------------
sammccall wrote:
> ilya-biryukov wrote:
> > `reply`'s signature is scary now.
> > Should we change it to accept something request-specific that can be found 
> > in the `Context` by the clients? WDYT? 
> > 
> > PS we could change it after the patch lands, just wanted to get your 
> > opinion on this
> Oops, missed this.
> To me, the scariest part is that "reply" is a very generic name and its 
> parameter is approximately "anything".
> 
> In principle your suggestion makes sense, but passing `Context::current()` 
> explicitly is plain weird, and passing 
> `Context::current().get(kRequestToken)` seems pretty grungy in the context.
> 
> I think I'd be more partial to either giving it a more specific name like 
> `replyToLSPRequest` which hints at the current-context requirement, or 
> actually making all our LSP handlers accept a `UniqueFunction<Expected<T>>` 
> and obviating the need for `reply` altogether.
> 
> Either way, I'd prefer to address this separately (partly because I'm not 
> sure which is best).
Totally agree, let's address it separately.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D42517



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to