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.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index a7a70a4534..d77d2b3314 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -1792,8 +1792,15 @@ bool Parser::parseQtPropertyDeclaration(DeclarationAST *&node)
if (LA() == T_LPAREN) {
ast->lparen_token = consumeToken();
parseTypeId(ast->type_id);
+
SimpleNameAST *property_name = new (_pool) SimpleNameAST;
- match(T_IDENTIFIER, &property_name->identifier_token);
+ // special case: keywords are allowed for property names!
+ if (tok().isKeyword()) {
+ property_name->identifier_token = consumeToken();
+ } else {
+ match(T_IDENTIFIER, &property_name->identifier_token);
+ }
+
ast->property_name = property_name;
QtPropertyDeclarationItemListAST **iter = &ast->property_declaration_items;
while (true) {