diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-03-03 16:45:18 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-03-03 16:46:14 +0100 |
commit | cefdb3da30e3d3994fbd7ba3410ee8616db282d3 (patch) | |
tree | 926abc04384b6a1cb5f1dc02db9738c72f157ce1 /src/shared/cplusplus/Parser.cpp | |
parent | d2bb23e62f1609a453f8cc8405e8029fc56e67c6 (diff) | |
download | qt-creator-cefdb3da30e3d3994fbd7ba3410ee8616db282d3.tar.gz |
Fixed parsing of properties whose name is a C++ keyword.
Reviewed-by: Roberto Raggi
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r-- | src/shared/cplusplus/Parser.cpp | 9 |
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) { |