Synchronize globally-cached code completion results with the results

provided when the optimization is disabled. In particular, split
the completion context CCC_Other into two contexts: CCC_Other, which
means that it's an undisclosed context for which any other results are
unwelcome, and CCC_Recovery, which is used in recovery cases.

Since we're now using the completion context within the completion
results builder, make sure that it's always set to something.

Fixes <rdar://problem/8470644>.

llvm-svn: 114704
This commit is contained in:
Douglas Gregor
2010-09-23 23:01:17 +00:00
parent bd57e0ce3d
commit 0ac41389a4
5 changed files with 125 additions and 84 deletions

View File

@@ -33,7 +33,7 @@ using llvm::StringRef;
bool CodeCompletionContext::wantConstructorResults() const {
switch (Kind) {
case CCC_Other:
case CCC_Recovery:
case CCC_Statement:
case CCC_Expression:
case CCC_ObjCMessageReceiver:
@@ -61,6 +61,7 @@ bool CodeCompletionContext::wantConstructorResults() const {
case CCC_NaturalLanguage:
case CCC_SelectorName:
case CCC_TypeQualifiers:
case CCC_Other:
return false;
}