[CodeComplete] Only show lambda completions if patterns are requested

This is a trivial follow-up to r361461, so sending without review.

llvm-svn: 361510
This commit is contained in:
Ilya Biryukov 2019-05-23 16:39:26 +00:00
parent 27b3b5d952
commit fd11a5f47d
2 changed files with 11 additions and 0 deletions

View File

@ -4134,6 +4134,8 @@ static const FunctionProtoType *TryDeconstructFunctionLike(QualType T) {
static void AddLambdaCompletion(ResultBuilder &Results,
llvm::ArrayRef<QualType> Parameters,
const LangOptions &LangOpts) {
if (!Results.includeCodePatterns())
return;
CodeCompletionBuilder Completion(Results.getAllocator(),
Results.getCodeCompletionTUInfo());
// [](<parameters>) {}

View File

@ -51,3 +51,12 @@ void test4() {
// RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:50:35 %s -o - | FileCheck -check-prefix=CHECK-6 %s
// CHECK-6-NOT: COMPLETION: Pattern : [<#=
}
void test5() {
// Completions are only added when -code-completion-patterns are enabled.
function<void()> b = {};
// RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:57:24 %s -o - | FileCheck -check-prefix=CHECK-7 %s
// CHECK-7: COMPLETION: Pattern : [<#=
// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:57:24 %s -o - | FileCheck -check-prefix=CHECK-8 %s
// CHECK-8-NOT: COMPLETION: Pattern : [<#=
}