Commit 49fbe56d authored by Christian Kamm's avatar Christian Kamm
Browse files

C++ parser: Don't fail on REVISION in Q_PROPERTY.



Change-Id: Ia7407969dc56308fe3eb843e97b93e65eb235186
Reviewed-by: default avatarFriedemann Kleint <Friedemann.Kleint@nokia.com>
parent 1b76f67d
...@@ -1909,6 +1909,8 @@ bool Bind::visit(QtPropertyDeclarationAST *ast) ...@@ -1909,6 +1909,8 @@ bool Bind::visit(QtPropertyDeclarationAST *ast)
flags |= QtPropertyDeclaration::ResetFunction; flags |= QtPropertyDeclaration::ResetFunction;
} else if (name == "NOTIFY") { } else if (name == "NOTIFY") {
flags |= QtPropertyDeclaration::NotifyFunction; flags |= QtPropertyDeclaration::NotifyFunction;
} else if (name == "REVISION") {
// ### handle REVISION property
} else if (name == "DESIGNABLE") { } else if (name == "DESIGNABLE") {
qtPropertyAttribute(translationUnit(), it->value->expression, &flags, qtPropertyAttribute(translationUnit(), it->value->expression, &flags,
QtPropertyDeclaration::DesignableFlag, QtPropertyDeclaration::DesignableFunction); QtPropertyDeclaration::DesignableFlag, QtPropertyDeclaration::DesignableFunction);
......
...@@ -1999,6 +1999,7 @@ bool Parser::parseQtPropertyDeclaration(DeclarationAST *&node) ...@@ -1999,6 +1999,7 @@ bool Parser::parseQtPropertyDeclaration(DeclarationAST *&node)
case Token_WRITE: case Token_WRITE:
case Token_RESET: case Token_RESET:
case Token_NOTIFY: case Token_NOTIFY:
case Token_REVISION:
case Token_DESIGNABLE: case Token_DESIGNABLE:
case Token_SCRIPTABLE: case Token_SCRIPTABLE:
case Token_STORED: case Token_STORED:
......
...@@ -110,6 +110,23 @@ static inline int classify8(const char *s) { ...@@ -110,6 +110,23 @@ static inline int classify8(const char *s) {
} }
} }
} }
if (s[0] == 'R') {
if (s[1] == 'E') {
if (s[2] == 'V') {
if (s[3] == 'I') {
if (s[4] == 'S') {
if (s[5] == 'I') {
if (s[6] == 'O') {
if (s[7] == 'N') {
return Token_REVISION;
}
}
}
}
}
}
}
}
return Token_not_Qt_context_keyword; return Token_not_Qt_context_keyword;
} }
......
...@@ -17,7 +17,8 @@ enum { ...@@ -17,7 +17,8 @@ enum {
Token_STORED, Token_STORED,
Token_CONSTANT, Token_CONSTANT,
Token_DESIGNABLE, Token_DESIGNABLE,
Token_SCRIPTABLE Token_SCRIPTABLE,
Token_REVISION
}; };
CPLUSPLUS_EXPORT int classifyQtContextKeyword(const char *s, int n); CPLUSPLUS_EXPORT int classifyQtContextKeyword(const char *s, int n);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment