[clang-tools-extra] 0a093f6 - [clangd] Prefer definitions for gototype and implementation

Kadir Cetinkaya via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 21 05:39:36 PDT 2023


Author: Kadir Cetinkaya
Date: 2023-07-21T14:38:51+02:00
New Revision: 0a093f62d15468f2b6ac4bfdc7a2dc7ba88364d0

URL: https://github.com/llvm/llvm-project/commit/0a093f62d15468f2b6ac4bfdc7a2dc7ba88364d0
DIFF: https://github.com/llvm/llvm-project/commit/0a093f62d15468f2b6ac4bfdc7a2dc7ba88364d0.diff

LOG: [clangd] Prefer definitions for gototype and implementation

Differential Revision: https://reviews.llvm.org/D133843

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/clangd/ClangdLSPServer.cpp b/clang-tools-extra/clangd/ClangdLSPServer.cpp
index 65ee60382ba991..a87da252b7a7e9 100644
--- a/clang-tools-extra/clangd/ClangdLSPServer.cpp
+++ b/clang-tools-extra/clangd/ClangdLSPServer.cpp
@@ -1451,7 +1451,7 @@ void ClangdLSPServer::onGoToType(const TextDocumentPositionParams &Params,
           return Reply(Types.takeError());
         std::vector<Location> Response;
         for (const LocatedSymbol &Sym : *Types)
-          Response.push_back(Sym.PreferredDeclaration);
+          Response.push_back(Sym.Definition.value_or(Sym.PreferredDeclaration));
         return Reply(std::move(Response));
       });
 }
@@ -1467,7 +1467,7 @@ void ClangdLSPServer::onGoToImplementation(
           return Reply(Overrides.takeError());
         std::vector<Location> Impls;
         for (const LocatedSymbol &Sym : *Overrides)
-          Impls.push_back(Sym.PreferredDeclaration);
+          Impls.push_back(Sym.Definition.value_or(Sym.PreferredDeclaration));
         return Reply(std::move(Impls));
       });
 }


        


More information about the cfe-commits mailing list