diff --git a/clang-tools-extra/clangd/ClangdLSPServer.cpp b/clang-tools-extra/clangd/ClangdLSPServer.cpp --- a/clang-tools-extra/clangd/ClangdLSPServer.cpp +++ b/clang-tools-extra/clangd/ClangdLSPServer.cpp @@ -615,7 +615,6 @@ CodeAction::INFO_KIND}}} : llvm::json::Value(true); - std::vector Commands; for (llvm::StringRef Command : Handlers.CommandHandlers.keys()) Commands.push_back(Command); @@ -1408,7 +1407,7 @@ return Reply(Types.takeError()); std::vector 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)); }); } @@ -1424,7 +1423,7 @@ return Reply(Overrides.takeError()); std::vector 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)); }); }