diff options
author | Ilya Biryukov <ibiryukov@google.com> | 2019-05-24 16:16:15 +0000 |
---|---|---|
committer | Ilya Biryukov <ibiryukov@google.com> | 2019-05-24 16:16:15 +0000 |
commit | 47fd4f06c55381e215b803850169377ac2bfe7a5 (patch) | |
tree | 2360480f9dbbf694332a27a7d021a567559a095f | |
parent | dffedea014822de908c36b15fe3b784326bd6491 (diff) | |
download | bcm5719-llvm-47fd4f06c55381e215b803850169377ac2bfe7a5.tar.gz bcm5719-llvm-47fd4f06c55381e215b803850169377ac2bfe7a5.zip |
[CodeComplete] Add whitespace around braces in lambda completions
This produces nicer output.
Trivial follow-up to r361461, so sending without review.
llvm-svn: 361645
-rw-r--r-- | clang/lib/Sema/SemaCodeComplete.cpp | 3 | ||||
-rw-r--r-- | clang/test/CodeCompletion/lambdas.cpp | 10 |
2 files changed, 8 insertions, 5 deletions
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index 27e684252f5..f5e5a84de7a 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -4177,8 +4177,11 @@ static void AddLambdaCompletion(ResultBuilder &Results, }; 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()); diff --git a/clang/test/CodeCompletion/lambdas.cpp b/clang/test/CodeCompletion/lambdas.cpp index 1ab804ad818..05c47b8c2a4 100644 --- a/clang/test/CodeCompletion/lambdas.cpp +++ b/clang/test/CodeCompletion/lambdas.cpp @@ -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_function {}; 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 {}; |