keith created this revision.
keith added a reviewer: njames93.
Herald added subscribers: usaxena95, kadircet, arphaman.
keith requested review of this revision.
Herald added subscribers: cfe-commits, MaskRay, ilya-biryukov.
Herald added a project: clang.
This broke the build http://lab.llvm.org:8011/#/builders/7/builds/1405
This reverts commit f05b492aae4d4a741ec59f19518df91a3012824c
<https://reviews.llvm.org/rGf05b492aae4d4a741ec59f19518df91a3012824c>.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D95385
Files:
clang-tools-extra/clangd/ClangdLSPServer.cpp
clang-tools-extra/clangd/ClangdLSPServer.h
clang-tools-extra/clangd/Protocol.h
Index: clang-tools-extra/clangd/Protocol.h
===================================================================
--- clang-tools-extra/clangd/Protocol.h
+++ clang-tools-extra/clangd/Protocol.h
@@ -265,6 +265,8 @@
return true;
}
using InitializedParams = NoParams;
+using ShutdownParams = NoParams;
+using ExitParams = NoParams;
/// Defines how the host (editor) should sync document changes to the language
/// server.
Index: clang-tools-extra/clangd/ClangdLSPServer.h
===================================================================
--- clang-tools-extra/clangd/ClangdLSPServer.h
+++ clang-tools-extra/clangd/ClangdLSPServer.h
@@ -93,8 +93,8 @@
// Calls have signature void(const Params&, Callback<Response>).
void onInitialize(const InitializeParams &, Callback<llvm::json::Value>);
void onInitialized(const InitializedParams &);
- void onShutdown(Callback<std::nullptr_t>);
- void onSync(Callback<std::nullptr_t>);
+ void onShutdown(const ShutdownParams &, Callback<std::nullptr_t>);
+ void onSync(const NoParams &, Callback<std::nullptr_t>);
void onDocumentDidOpen(const DidOpenTextDocumentParams &);
void onDocumentDidChange(const DidChangeTextDocumentParams &);
void onDocumentDidClose(const DidCloseTextDocumentParams &);
@@ -161,7 +161,7 @@
Callback<SemanticTokensOrDelta>);
/// This is a clangd extension. Provides a json tree representing memory usage
/// hierarchy.
- void onMemoryUsage(Callback<MemoryTree>);
+ void onMemoryUsage(const NoParams &, Callback<MemoryTree>);
std::vector<Fix> getFixes(StringRef File, const clangd::Diagnostic &D);
Index: clang-tools-extra/clangd/ClangdLSPServer.cpp
===================================================================
--- clang-tools-extra/clangd/ClangdLSPServer.cpp
+++ clang-tools-extra/clangd/ClangdLSPServer.cpp
@@ -258,15 +258,6 @@
};
}
- template <typename Result>
- void bind(const char *Method,
- void (ClangdLSPServer::*Handler)(Callback<Result>)) {
- Calls[Method] = [Handler, this](llvm::json::Value RawParams,
- ReplyOnce Reply) {
- (Server.*Handler)(std::move(Reply));
- };
- }
-
// Bind a reply callback to a request. The callback will be invoked when
// clangd receives the reply from the LSP client.
// Return a call id of the request.
@@ -310,20 +301,6 @@
};
}
- void bind(const char *Method, void (ClangdLSPServer::*Handler)()) {
- Notifications[Method] = [Handler, this](llvm::json::Value RawParams) {
- (Server.*Handler)();
- };
- }
-
- template <>
- void bind<NoParams>(const char *Method,
- void (ClangdLSPServer::*Handler)(const NoParams &)) {
- Notifications[Method] = [Handler, this](llvm::json::Value RawParams) {
- (Server.*Handler)(NoParams{});
- };
- }
-
private:
// Function object to reply to an LSP call.
// Each instance must be called exactly once, otherwise:
@@ -670,7 +647,8 @@
void ClangdLSPServer::onInitialized(const InitializedParams &Params) {}
-void ClangdLSPServer::onShutdown(Callback<std::nullptr_t> Reply) {
+void ClangdLSPServer::onShutdown(const ShutdownParams &Params,
+ Callback<std::nullptr_t> Reply) {
// Do essentially nothing, just say we're ready to exit.
ShutdownRequestReceived = true;
Reply(nullptr);
@@ -678,7 +656,8 @@
// sync is a clangd extension: it blocks until all background work completes.
// It blocks the calling thread, so no messages are processed until it returns!
-void ClangdLSPServer::onSync(Callback<std::nullptr_t> Reply) {
+void ClangdLSPServer::onSync(const NoParams &Params,
+ Callback<std::nullptr_t> Reply) {
if (Server->blockUntilIdleForTest(/*TimeoutSeconds=*/60))
Reply(nullptr);
else
@@ -1466,7 +1445,8 @@
});
}
-void ClangdLSPServer::onMemoryUsage(Callback<MemoryTree> Reply) {
+void ClangdLSPServer::onMemoryUsage(const NoParams &,
+ Callback<MemoryTree> Reply) {
llvm::BumpPtrAllocator DetailAlloc;
MemoryTree MT(&DetailAlloc);
profile(MT);
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits