Author: Sam McCall Date: 2019-11-15T19:23:20+01:00 New Revision: 209e30b7e0c20796f8f2c941d13e7e4994479c6b
URL: https://github.com/llvm/llvm-project/commit/209e30b7e0c20796f8f2c941d13e7e4994479c6b DIFF: https://github.com/llvm/llvm-project/commit/209e30b7e0c20796f8f2c941d13e7e4994479c6b.diff LOG: [clangd] Don't repeat class template args when printing constructor definitions This fixes part of https://github.com/clangd/clangd/issues/76 Added: Modified: clang-tools-extra/clangd/XRefs.cpp clang-tools-extra/clangd/unittests/XRefsTests.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clangd/XRefs.cpp b/clang-tools-extra/clangd/XRefs.cpp index 2f4cfc2608e5..2fd147c2d255 100644 --- a/clang-tools-extra/clangd/XRefs.cpp +++ b/clang-tools-extra/clangd/XRefs.cpp @@ -456,6 +456,7 @@ static std::string printDefinition(const Decl *D) { PrintingPolicy Policy = printingPolicyForDecls(D->getASTContext().getPrintingPolicy()); Policy.IncludeTagDefinition = false; + Policy.SuppressTemplateArgsInCXXConstructors = true; D->print(OS, Policy); OS.flush(); return Definition; diff --git a/clang-tools-extra/clangd/unittests/XRefsTests.cpp b/clang-tools-extra/clangd/unittests/XRefsTests.cpp index 15f94e986770..cbc81805fd73 100644 --- a/clang-tools-extra/clangd/unittests/XRefsTests.cpp +++ b/clang-tools-extra/clangd/unittests/XRefsTests.cpp @@ -920,7 +920,7 @@ void foo())cpp"; HI.Kind = SymbolKind::Constructor; HI.Type = "void ()"; // FIXME: Should be None HI.ReturnType = "void"; // FIXME: Should be None or X<T*> - HI.Definition = "X<type - parameter - 0 - 0 *>()"; // FIXME: --> X() + HI.Definition = "X()"; HI.Parameters.emplace(); }}, _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits