[clang-tools-extra] r360119 - [clangd] switchSourceHeader uses null not empty string as sentinel.

Sam McCall via cfe-commits cfe-commits at lists.llvm.org
Tue May 7 00:55:35 PDT 2019


Author: sammccall
Date: Tue May  7 00:55:35 2019
New Revision: 360119

URL: http://llvm.org/viewvc/llvm-project?rev=360119&view=rev
Log:
[clangd] switchSourceHeader uses null not empty string as sentinel.

As far as I can see, only theia actually implements this, and it expects null.

Modified:
    clang-tools-extra/trunk/clangd/ClangdLSPServer.cpp
    clang-tools-extra/trunk/clangd/ClangdLSPServer.h

Modified: clang-tools-extra/trunk/clangd/ClangdLSPServer.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clangd/ClangdLSPServer.cpp?rev=360119&r1=360118&r2=360119&view=diff
==============================================================================
--- clang-tools-extra/trunk/clangd/ClangdLSPServer.cpp (original)
+++ clang-tools-extra/trunk/clangd/ClangdLSPServer.cpp Tue May  7 00:55:35 2019
@@ -823,10 +823,13 @@ void ClangdLSPServer::onGoToDeclaration(
           std::move(Reply)));
 }
 
-void ClangdLSPServer::onSwitchSourceHeader(const TextDocumentIdentifier &Params,
-                                           Callback<std::string> Reply) {
-  llvm::Optional<Path> Result = Server->switchSourceHeader(Params.uri.file());
-  Reply(Result ? URI::createFile(*Result).toString() : "");
+void ClangdLSPServer::onSwitchSourceHeader(
+    const TextDocumentIdentifier &Params,
+    Callback<llvm::Optional<std::string>> Reply) {
+  if (auto Result = Server->switchSourceHeader(Params.uri.file()))
+    Reply(URI::resolvePath(*Result, Params.uri.file()));
+  else
+    Reply(llvm::None);
 }
 
 void ClangdLSPServer::onDocumentHighlight(

Modified: clang-tools-extra/trunk/clangd/ClangdLSPServer.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clangd/ClangdLSPServer.h?rev=360119&r1=360118&r2=360119&view=diff
==============================================================================
--- clang-tools-extra/trunk/clangd/ClangdLSPServer.h (original)
+++ clang-tools-extra/trunk/clangd/ClangdLSPServer.h Tue May  7 00:55:35 2019
@@ -85,7 +85,7 @@ private:
                         Callback<std::vector<Location>>);
   void onReference(const ReferenceParams &, Callback<std::vector<Location>>);
   void onSwitchSourceHeader(const TextDocumentIdentifier &,
-                            Callback<std::string>);
+                            Callback<llvm::Optional<std::string>>);
   void onDocumentHighlight(const TextDocumentPositionParams &,
                            Callback<std::vector<DocumentHighlight>>);
   void onFileEvent(const DidChangeWatchedFilesParams &);




More information about the cfe-commits mailing list