r361645 - [CodeComplete] Add whitespace around braces in lambda completions

Ilya Biryukov via cfe-commits cfe-commits at lists.llvm.org
Fri May 24 09:16:15 PDT 2019


Author: ibiryukov
Date: Fri May 24 09:16:15 2019
New Revision: 361645

URL: http://llvm.org/viewvc/llvm-project?rev=361645&view=rev
Log:
[CodeComplete] Add whitespace around braces in lambda completions

This produces nicer output.
Trivial follow-up to r361461, so sending without review.

Modified:
    cfe/trunk/lib/Sema/SemaCodeComplete.cpp
    cfe/trunk/test/CodeCompletion/lambdas.cpp

Modified: cfe/trunk/lib/Sema/SemaCodeComplete.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaCodeComplete.cpp?rev=361645&r1=361644&r2=361645&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaCodeComplete.cpp (original)
+++ cfe/trunk/lib/Sema/SemaCodeComplete.cpp Fri May 24 09:16:15 2019
@@ -4177,8 +4177,11 @@ static void AddLambdaCompletion(ResultBu
     };
     Completion.AddChunk(CodeCompletionString::CK_RightParen);
   }
+  Completion.AddChunk(clang::CodeCompletionString::CK_HorizontalSpace);
   Completion.AddChunk(CodeCompletionString::CK_LeftBrace);
+  Completion.AddChunk(CodeCompletionString::CK_HorizontalSpace);
   Completion.AddPlaceholderChunk("body");
+  Completion.AddChunk(CodeCompletionString::CK_HorizontalSpace);
   Completion.AddChunk(CodeCompletionString::CK_RightBrace);
 
   Results.AddResult(Completion.TakeString());

Modified: cfe/trunk/test/CodeCompletion/lambdas.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeCompletion/lambdas.cpp?rev=361645&r1=361644&r2=361645&view=diff
==============================================================================
--- cfe/trunk/test/CodeCompletion/lambdas.cpp (original)
+++ cfe/trunk/test/CodeCompletion/lambdas.cpp Fri May 24 09:16:15 2019
@@ -9,17 +9,17 @@ void test() {
   function<void(int, double)> y = {};
   // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:7:28 %s -o - | FileCheck -check-prefix=CHECK-1 %s
   // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:9:35 %s -o - | FileCheck -check-prefix=CHECK-1 %s
-  // CHECK-1: COMPLETION: Pattern : [<#=#>](int <#parameter#>, double <#parameter#>){<#body#>}
+  // CHECK-1: COMPLETION: Pattern : [<#=#>](int <#parameter#>, double <#parameter#>) { <#body#> }
 
   // == Placeholders for suffix types must be placed properly.
   function<void(void(*)(int))> z = {};
   // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:15:36 %s -o - | FileCheck -check-prefix=CHECK-2 %s
-  // CHECK-2: COMPLETION: Pattern : [<#=#>](void (* <#parameter#>)(int)){<#body#>}
+  // CHECK-2: COMPLETION: Pattern : [<#=#>](void (* <#parameter#>)(int)) { <#body#> }
 
   // == No need for a parameter list if function has no parameters.
   function<void()> a = {};
   // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:20:24 %s -o - | FileCheck -check-prefix=CHECK-3 %s
-  // CHECK-3: COMPLETION: Pattern : [<#=#>]{<#body#>}
+  // CHECK-3: COMPLETION: Pattern : [<#=#>] { <#body#> }
 }
 
 template <class T, class Allocator = int>
@@ -33,7 +33,7 @@ void test2() {
   function_typedef b = {};
   // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:30:35 %s -o - | FileCheck -check-prefix=CHECK-4 %s
   // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:33:24 %s -o - | FileCheck -check-prefix=CHECK-4 %s
-  // CHECK-4: COMPLETION: Pattern : [<#=#>](vector<int> <#parameter#>){<#body#>}
+  // CHECK-4: COMPLETION: Pattern : [<#=#>](vector<int> <#parameter#>) { <#body#> }
 }
 
 // Check another common function wrapper name.
@@ -42,7 +42,7 @@ template <class T> struct unique_functio
 void test3() {
   unique_function<void()> a = {};
   // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:43:31 %s -o - | FileCheck -check-prefix=CHECK-5 %s
-  // CHECK-5: COMPLETION: Pattern : [<#=#>]{<#body#>}
+  // CHECK-5: COMPLETION: Pattern : [<#=#>] { <#body#> }
 }
 
 template <class T, class U> struct weird_function {};




More information about the cfe-commits mailing list