diff options
author | Roberto Raggi <qtc-committer@nokia.com> | 2009-02-03 14:33:25 +0100 |
---|---|---|
committer | Roberto Raggi <qtc-committer@nokia.com> | 2009-02-05 14:30:23 +0100 |
commit | debe2a0d93411a10ed65dce8c160c10ef19999ba (patch) | |
tree | 26bfc636083866f367bcfdf5fe6831d9f2ce7bf3 /src/shared/cplusplus/Parser.cpp | |
parent | 26560ca9d23c4939239e1c0675912ec0b9564d1a (diff) | |
download | qt-creator-debe2a0d93411a10ed65dce8c160c10ef19999ba.tar.gz |
Fixes: Parsing of objc protocol expressions.
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r-- | src/shared/cplusplus/Parser.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp index 89d540b6d1..fcddd740a6 100644 --- a/src/shared/cplusplus/Parser.cpp +++ b/src/shared/cplusplus/Parser.cpp @@ -2583,7 +2583,7 @@ bool Parser::parseObjCExpression(ExpressionAST *&node) return parseObjCEncodeExpression(node); case T_AT_PROTOCOL: - break; + return parseObjCProtocolExpression(node); case T_AT_SELECTOR: break; @@ -2610,6 +2610,19 @@ bool Parser::parseObjCEncodeExpression(ExpressionAST *&) return true; } +bool Parser::parseObjCProtocolExpression(ExpressionAST *&) +{ + if (LA() != T_AT_PROTOCOL) + return false; + + /*unsigned protocol_token = */ consumeToken(); + unsigned lparen_token = 0, identifier_token = 0, rparen_token = 0; + match(T_LPAREN, &lparen_token); + match(T_IDENTIFIER, &identifier_token); + match(T_RPAREN, &rparen_token); + return true; +} + bool Parser::parseNameId(NameAST *&name) { unsigned start = cursor(); |