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 &); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits