[PATCH] D95270: [clangd][NFC] Simplify handing on methods with no params

Kadir Cetinkaya via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Jan 24 22:24:38 PST 2021


kadircet added a comment.

thanks this LG, but I suppose we can do some more trimming. after the trimming we are introducing a single partial specialization which is luckily more specialized than existing notification-binding specialization, so all should be fine.



================
Comment at: clang-tools-extra/clangd/ClangdLSPServer.cpp:262
+  template <typename Result>
+  void bind(const char *Method,
+            void (ClangdLSPServer::*Handler)(const NoParams &,
----------------
why do we need this one ?


================
Comment at: clang-tools-extra/clangd/ClangdLSPServer.cpp:331
+  void bind<NoParams>(const char *Method,
+                      void (ClangdLSPServer::*Handler)(const NoParams &)) {
+    Notifications[Method] = [Handler, this](llvm::json::Value RawParams) {
----------------
i suppose we can also drop this one after getting rid of `InitializedParams`?


================
Comment at: clang-tools-extra/clangd/ClangdLSPServer.h:93
   void onInitialize(const InitializeParams &, Callback<llvm::json::Value>);
   void onInitialized(const InitializedParams &);
+  void onShutdown(Callback<std::nullptr_t>);
----------------
any reasons for keeping `InitializedParams` ?


================
Comment at: clang-tools-extra/clangd/Protocol.h:267
 }
 using InitializedParams = NoParams;
 
----------------
and drop this too.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D95270/new/

https://reviews.llvm.org/D95270



More information about the cfe-commits mailing list