forked from OSchip/llvm-project
Revert "[clangd][NFC] Simplify handing on methods with no params"
This broke the build http://lab.llvm.org:8011/#/builders/7/builds/1405
This reverts commit f05b492aae
.
Differential Revision: https://reviews.llvm.org/D95385
This commit is contained in:
parent
9946b169c3
commit
9d9ceb3745
|
@ -258,15 +258,6 @@ public:
|
|||
};
|
||||
}
|
||||
|
||||
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 @@ public:
|
|||
};
|
||||
}
|
||||
|
||||
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::onInitialize(const InitializeParams &Params,
|
|||
|
||||
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 @@ void ClangdLSPServer::onShutdown(Callback<std::nullptr_t> Reply) {
|
|||
|
||||
// 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::onSemanticTokensDelta(
|
|||
});
|
||||
}
|
||||
|
||||
void ClangdLSPServer::onMemoryUsage(Callback<MemoryTree> Reply) {
|
||||
void ClangdLSPServer::onMemoryUsage(const NoParams &,
|
||||
Callback<MemoryTree> Reply) {
|
||||
llvm::BumpPtrAllocator DetailAlloc;
|
||||
MemoryTree MT(&DetailAlloc);
|
||||
profile(MT);
|
||||
|
|
|
@ -93,8 +93,8 @@ private:
|
|||
// 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 @@ private:
|
|||
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);
|
||||
|
||||
|
|
|
@ -265,6 +265,8 @@ inline bool fromJSON(const llvm::json::Value &, NoParams &, llvm::json::Path) {
|
|||
return true;
|
||||
}
|
||||
using InitializedParams = NoParams;
|
||||
using ShutdownParams = NoParams;
|
||||
using ExitParams = NoParams;
|
||||
|
||||
/// Defines how the host (editor) should sync document changes to the language
|
||||
/// server.
|
||||
|
|
Loading…
Reference in New Issue