summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-05-09 18:09:55 (GMT)
committerGitHub <noreply@github.com>2020-05-09 18:09:55 (GMT)
commite24bad3c5d841435f42bd3ff7a39bdf551471c34 (patch)
tree494e815fa02ed9f48d85908403751fcb029e876a
parent129bffd3885650cbf462c969d47bf74ee4e9ff06 (diff)
parent70a4eee11581026aab0342272294ac0be8fdee5b (diff)
downloadDoxygen-e24bad3c5d841435f42bd3ff7a39bdf551471c34.zip
Doxygen-e24bad3c5d841435f42bd3ff7a39bdf551471c34.tar.gz
Doxygen-e24bad3c5d841435f42bd3ff7a39bdf551471c34.tar.bz2
Merge pull request #7742 from albert-github/feature/issue_7734
issue #7734 Incorrect parsing of Q_PROPERTY
-rw-r--r--src/scanner.l36
1 files changed, 20 insertions, 16 deletions
diff --git a/src/scanner.l b/src/scanner.l
index f066b5b..384b088 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -2000,33 +2000,37 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
unput(';');
BEGIN(FindMembers);
}
-<QtPropType>"const"|"volatile"|"unsigned"|"signed"|"long"|"short" {
- yyextra->current->type+=yytext;
- }
<QtPropType>{B}+ {
- yyextra->current->type+=yytext;
+ yyextra->current->name+=yytext;
}
-<QtPropType>({TSCOPE}"::")*{TSCOPE} {
- yyextra->current->type+=yytext;
- BEGIN(QtPropName);
+<QtPropType>"*" {
+ yyextra->current->type+= yyextra->current->name;
+ yyextra->current->type+= yytext;
+ yyextra->current->name="";
}
-<QtPropName>{ID} {
+<QtPropType>({TSCOPE}"::")*{TSCOPE} {
+ yyextra->current->type+= yyextra->current->name;
yyextra->current->name=yytext;
- BEGIN(QtPropAttr);
}
-<QtPropAttr>"READ" {
+<QtPropType,QtPropAttr>{B}+"READ"{B}+ {
yyextra->current->spec |= Entry::Readable;
BEGIN(QtPropRead);
}
-<QtPropAttr>"WRITE" {
+<QtPropType,QtPropAttr>{B}+"WRITE"{B}+ {
yyextra->current->spec |= Entry::Writable;
BEGIN(QtPropWrite);
}
-<QtPropAttr>"RESET"{B}+{ID} { // reset method => not supported yet
- }
-<QtPropAttr>"SCRIPTABLE"{B}+{ID} { // scriptable property => not supported yet
- }
-<QtPropAttr>"DESIGNABLE"{B}+{ID} { // designable property => not supported yet
+<QtPropType,QtPropAttr>{B}+"MEMBER"{B}+{ID} | // member property => not supported yet
+<QtPropType,QtPropAttr>{B}+"RESET"{B}+{ID} | // reset method => not supported yet
+<QtPropType,QtPropAttr>{B}+"SCRIPTABLE"{B}+{ID} | // scriptable property => not supported yet
+<QtPropType,QtPropAttr>{B}+"DESIGNABLE"{B}+{ID} | // designable property => not supported yet
+<QtPropType,QtPropAttr>{B}+"NOTIFY"{B}+{ID} | // notify property => not supported yet
+<QtPropType,QtPropAttr>{B}+"REVISION"{B}+{ID} | // revision property => not supported yet
+<QtPropType,QtPropAttr>{B}+"STORED"{B}+{ID} | // stored property => not supported yet
+<QtPropType,QtPropAttr>{B}+"USER"{B}+{ID} | // user property => not supported yet
+<QtPropType,QtPropAttr>{B}+"CONSTANT"{B} | // constant property => not supported yet
+<QtPropType,QtPropAttr>{B}+"FINAL"{B} { // final property => not supported yet
+ BEGIN(QtPropAttr);
}
<QtPropRead>{ID} {
yyextra->current->read = yytext;