forked from qt-creator/qt-creator
C++ parser: Don't fail on REVISION in Q_PROPERTY.
Change-Id: Ia7407969dc56308fe3eb843e97b93e65eb235186 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
This commit is contained in:
2
src/libs/3rdparty/cplusplus/Bind.cpp
vendored
2
src/libs/3rdparty/cplusplus/Bind.cpp
vendored
@@ -1909,6 +1909,8 @@ bool Bind::visit(QtPropertyDeclarationAST *ast)
|
||||
flags |= QtPropertyDeclaration::ResetFunction;
|
||||
} else if (name == "NOTIFY") {
|
||||
flags |= QtPropertyDeclaration::NotifyFunction;
|
||||
} else if (name == "REVISION") {
|
||||
// ### handle REVISION property
|
||||
} else if (name == "DESIGNABLE") {
|
||||
qtPropertyAttribute(translationUnit(), it->value->expression, &flags,
|
||||
QtPropertyDeclaration::DesignableFlag, QtPropertyDeclaration::DesignableFunction);
|
||||
|
1
src/libs/3rdparty/cplusplus/Parser.cpp
vendored
1
src/libs/3rdparty/cplusplus/Parser.cpp
vendored
@@ -1999,6 +1999,7 @@ bool Parser::parseQtPropertyDeclaration(DeclarationAST *&node)
|
||||
case Token_WRITE:
|
||||
case Token_RESET:
|
||||
case Token_NOTIFY:
|
||||
case Token_REVISION:
|
||||
case Token_DESIGNABLE:
|
||||
case Token_SCRIPTABLE:
|
||||
case Token_STORED:
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -17,7 +17,8 @@ enum {
|
||||
Token_STORED,
|
||||
Token_CONSTANT,
|
||||
Token_DESIGNABLE,
|
||||
Token_SCRIPTABLE
|
||||
Token_SCRIPTABLE,
|
||||
Token_REVISION
|
||||
};
|
||||
|
||||
CPLUSPLUS_EXPORT int classifyQtContextKeyword(const char *s, int n);
|
||||
|
Reference in New Issue
Block a user