diff options
author | Douglas Gregor <dgregor@apple.com> | 2012-04-10 17:56:28 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2012-04-10 17:56:28 +0000 |
commit | 9489cdf29f25aff6e071d9d29ca4a160947c1685 (patch) | |
tree | 07597830aa9d6d3a55b8d3d121ae1cc772bebd82 | |
parent | df5a244797e7be6bb44a863402b7138e663c146d (diff) | |
download | bcm5719-llvm-9489cdf29f25aff6e071d9d29ca4a160947c1685.tar.gz bcm5719-llvm-9489cdf29f25aff6e071d9d29ca4a160947c1685.zip |
Don't include the ':' following code-completion suggestions for
'public', 'private', or 'protected', unless code completion patterns
are enabled. Fixes <rdar://problem/11189132>.
llvm-svn: 154413
-rw-r--r-- | clang/lib/Sema/SemaCodeComplete.cpp | 9 | ||||
-rw-r--r-- | clang/test/Index/complete-super.cpp | 9 |
2 files changed, 15 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index 32f36d45596..2a8a7166246 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -1542,17 +1542,20 @@ static void AddOrdinaryNameResults(Sema::ParserCompletionContext CCC, // public: Builder.AddTypedTextChunk("public"); - Builder.AddChunk(CodeCompletionString::CK_Colon); + if (Results.includeCodePatterns()) + Builder.AddChunk(CodeCompletionString::CK_Colon); Results.AddResult(Result(Builder.TakeString())); // protected: Builder.AddTypedTextChunk("protected"); - Builder.AddChunk(CodeCompletionString::CK_Colon); + if (Results.includeCodePatterns()) + Builder.AddChunk(CodeCompletionString::CK_Colon); Results.AddResult(Result(Builder.TakeString())); // private: Builder.AddTypedTextChunk("private"); - Builder.AddChunk(CodeCompletionString::CK_Colon); + if (Results.includeCodePatterns()) + Builder.AddChunk(CodeCompletionString::CK_Colon); Results.AddResult(Result(Builder.TakeString())); } } diff --git a/clang/test/Index/complete-super.cpp b/clang/test/Index/complete-super.cpp index 71c22ad00d1..9ffa7c8a405 100644 --- a/clang/test/Index/complete-super.cpp +++ b/clang/test/Index/complete-super.cpp @@ -31,3 +31,12 @@ void B::bar(float real) { // RUN: c-index-test -code-completion-at=%s:16:6 %s | FileCheck -check-prefix=CHECK-FOO-QUAL %s // CHECK-FOO-QUAL: CXXMethod:{TypedText foo}{LeftParen (}{Placeholder a}{Comma , }{Placeholder b}{RightParen )} (20) +// RUN: c-index-test -code-completion-at=%s:5:1 %s | FileCheck -check-prefix=CHECK-ACCESS %s +// CHECK-ACCESS: NotImplemented:{TypedText private} (40) +// CHECK-ACCESS: NotImplemented:{TypedText protected} (40) +// CHECK-ACCESS: NotImplemented:{TypedText public} (40) + +// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:5:1 %s | FileCheck -check-prefix=CHECK-ACCESS-PATTERN %s +// CHECK-ACCESS-PATTERN: NotImplemented:{TypedText private}{Colon :} (40) +// CHECK-ACCESS-PATTERN: NotImplemented:{TypedText protected}{Colon :} (40) +// CHECK-ACCESS-PATTERN: NotImplemented:{TypedText public}{Colon :} (40) |