summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2019-11-15 19:23:04 +0100
committerSam McCall <sam.mccall@gmail.com>2019-11-15 19:23:20 +0100
commit209e30b7e0c20796f8f2c941d13e7e4994479c6b (patch)
treea1c77c41533fdb89add3d30bf6bf1cd41ba145a4
parent575e09d9f82f3bd0894dc10d1fa5873e97a7e70f (diff)
downloadbcm5719-llvm-209e30b7e0c20796f8f2c941d13e7e4994479c6b.tar.gz
bcm5719-llvm-209e30b7e0c20796f8f2c941d13e7e4994479c6b.zip
[clangd] Don't repeat class template args when printing constructor definitions
This fixes part of https://github.com/clangd/clangd/issues/76
-rw-r--r--clang-tools-extra/clangd/XRefs.cpp1
-rw-r--r--clang-tools-extra/clangd/unittests/XRefsTests.cpp2
2 files changed, 2 insertions, 1 deletions
diff --git a/clang-tools-extra/clangd/XRefs.cpp b/clang-tools-extra/clangd/XRefs.cpp
index 2f4cfc2608e..2fd147c2d25 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 15f94e98677..cbc81805fd7 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();
}},
OpenPOWER on IntegriCloud