summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r--src/shared/cplusplus/Parser.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index 572c9f6665..8f6cc63f68 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -2556,6 +2556,12 @@ bool Parser::parsePrimaryExpression(ExpressionAST *&node)
case T_SLOT:
return parseQtMethod(node);
+ case T_AT_STRING_LITERAL:
+ case T_AT_ENCODE:
+ case T_AT_PROTOCOL:
+ case T_AT_SELECTOR:
+ return parseObjCExpression(node);
+
default: {
NameAST *name = 0;
if (parseNameId(name)) {
@@ -2570,6 +2576,30 @@ bool Parser::parsePrimaryExpression(ExpressionAST *&node)
return false;
}
+bool Parser::parseObjCExpression(ExpressionAST *&node)
+{
+ switch (LA()) {
+ case T_AT_ENCODE:
+ break;
+
+ case T_AT_PROTOCOL:
+ break;
+
+ case T_AT_SELECTOR:
+ break;
+
+ case T_LBRACKET:
+ break;
+
+ case T_AT_STRING_LITERAL:
+ break;
+
+ default:
+ break;
+ } // switch
+ return false;
+}
+
bool Parser::parseNameId(NameAST *&name)
{
unsigned start = cursor();