[PATCH] D70307: [CodeComplete] Constructor overload candidates report as vector(int) instead of vector<string>(int)

Sam McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Nov 15 06:49:22 PST 2019


This revision was automatically updated to reflect the committed changes.
sammccall marked an inline comment as done.
Closed by commit rGfa3b87fbeb46: [CodeComplete] Constructor overload candidates report as vector(int) instead of… (authored by sammccall).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70307/new/

https://reviews.llvm.org/D70307

Files:
  clang/lib/Sema/SemaCodeComplete.cpp
  clang/test/CodeCompletion/templates.cpp


Index: clang/test/CodeCompletion/templates.cpp
===================================================================
--- clang/test/CodeCompletion/templates.cpp
+++ clang/test/CodeCompletion/templates.cpp
@@ -24,5 +24,12 @@
   // CHECK-CC2: foo
   // CHECK-CC2: in_base
   // CHECK-CC2: stop
-  
+}
+
 
+template <typename> struct X;
+template <typename T> struct X<T*> { X(double); };
+X<int*> x(42);
+// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:32:11 %s -o - | FileCheck -check-prefix=CHECK-CONSTRUCTOR %s
+// CHECK-CONSTRUCTOR: OVERLOAD: X(<#double#>)
+// (rather than X<type-parameter-0-0 *>(<#double#>)
Index: clang/lib/Sema/SemaCodeComplete.cpp
===================================================================
--- clang/lib/Sema/SemaCodeComplete.cpp
+++ clang/lib/Sema/SemaCodeComplete.cpp
@@ -3653,6 +3653,10 @@
     unsigned CurrentArg, Sema &S, CodeCompletionAllocator &Allocator,
     CodeCompletionTUInfo &CCTUInfo, bool IncludeBriefComments) const {
   PrintingPolicy Policy = getCompletionPrintingPolicy(S);
+  // Show signatures of constructors as they are declared:
+  //   vector(int n) rather than vector<string>(int n)
+  // This is less noisy without being less clear, and avoids tricky cases.
+  Policy.SuppressTemplateArgsInCXXConstructors = true;
 
   // FIXME: Set priority, availability appropriately.
   CodeCompletionBuilder Result(Allocator, CCTUInfo, 1,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70307.229538.patch
Type: text/x-patch
Size: 1395 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191115/ea8a8c76/attachment-0001.bin>


More information about the cfe-commits mailing list