Continue parsing more postfix expressions, even after semantic
errors. Improves code completion in yet another case.
llvm-svn: 114255
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp
index e305172..371921c 100644
--- a/clang/lib/Sema/SemaCodeComplete.cpp
+++ b/clang/lib/Sema/SemaCodeComplete.cpp
@@ -2757,9 +2757,11 @@
Results.data(),Results.size());
}
-void Sema::CodeCompletePostfixExpression(Scope *S, Expr *E) {
- if (getLangOptions().ObjC1)
- CodeCompleteObjCInstanceMessage(S, E, 0, 0, false);
+void Sema::CodeCompletePostfixExpression(Scope *S, ExprResult E) {
+ if (E.isInvalid())
+ CodeCompleteOrdinaryName(S, PCC_RecoveryInFunction);
+ else if (getLangOptions().ObjC1)
+ CodeCompleteObjCInstanceMessage(S, E.take(), 0, 0, false);
}
static void AddObjCProperties(ObjCContainerDecl *Container,