Xref layer changes for textdocument/implementation (https://microsoft.github.io/language-server-protocol/specification#textDocument_implementation)
This currently shows all functions (implementations) that overrides a virtual function.
Paths
| Differential D91626
[clangd] Implement textDocument/implementation (Xref layer) ClosedPublic Authored by usaxena95 on Nov 17 2020, 6:12 AM.
Details
Summary Xref layer changes for textdocument/implementation (https://microsoft.github.io/language-server-protocol/specification#textDocument_implementation) This currently shows all functions (implementations) that overrides a virtual function.
Diff Detail
Event TimelineComment Actions thanks, just reviewed at the xrefs code. I think we can narrow the scope of the patch by splitting it into two patches
usaxena95 marked 3 inline comments as done. Comment ActionsAddressed comments.
Comment Actions The patch description is a bit stale now.
This revision is now accepted and ready to land.Nov 18 2020, 6:35 AM usaxena95 retitled this revision from [clangd] Implement textDocument/implementation. to [clangd] Implement textDocument/implementation (Xref layer).
Revision Contents
Diff 305974 clang-tools-extra/clangd/ClangdLSPServer.h
clang-tools-extra/clangd/ClangdLSPServer.cpp
clang-tools-extra/clangd/ClangdServer.h
clang-tools-extra/clangd/ClangdServer.cpp
clang-tools-extra/clangd/Protocol.h
clang-tools-extra/clangd/Protocol.cpp
clang-tools-extra/clangd/XRefs.h
clang-tools-extra/clangd/XRefs.cpp
clang-tools-extra/clangd/test/initialize-params.test
clang-tools-extra/clangd/unittests/XRefsTests.cpp
|
not sure ReferenceResult is the best fit -- we never set the HasMore field.
I'd use std::vector<LocatedSymbol>, this returns richer information, and the client (LSPServer can choose which location they want to return).