Finish defining Action API for message expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42059 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Parse/ParseObjc.cpp b/Parse/ParseObjc.cpp
index d61d621..87cc277 100644
--- a/Parse/ParseObjc.cpp
+++ b/Parse/ParseObjc.cpp
@@ -1051,11 +1051,18 @@
}
ConsumeBracket(); // consume ']'
+ if (KeyInfo.size()) {
+ // We've just parsed a keyword message.
+ if (ReceiverName)
+ return Actions.ActOnKeywordMessage(ReceiverName,
+ &KeyInfo[0], KeyInfo.size());
+ return Actions.ActOnKeywordMessage(ReceiverExpr,
+ &KeyInfo[0], KeyInfo.size());
+ }
+ // We've just parsed a unary message (a message with no arguments).
if (ReceiverName)
- return Actions.ActOnMessageExpression(ReceiverName,
- &KeyInfo[0], KeyInfo.size());
- return Actions.ActOnMessageExpression(ReceiverExpr,
- &KeyInfo[0], KeyInfo.size());
+ return Actions.ActOnUnaryMessage(ReceiverName, selIdent);
+ return Actions.ActOnUnaryMessage(ReceiverExpr, selIdent);
}
Parser::ExprResult Parser::ParseObjCStringLiteral() {