summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlya Biryukov <ibiryukov@google.com>2019-05-24 16:16:15 +0000
committerIlya Biryukov <ibiryukov@google.com>2019-05-24 16:16:15 +0000
commit47fd4f06c55381e215b803850169377ac2bfe7a5 (patch)
tree2360480f9dbbf694332a27a7d021a567559a095f
parentdffedea014822de908c36b15fe3b784326bd6491 (diff)
downloadbcm5719-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.cpp3
-rw-r--r--clang/test/CodeCompletion/lambdas.cpp10
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 {};
OpenPOWER on IntegriCloud