diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-05-09 18:09:55 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-09 18:09:55 (GMT) |
commit | e24bad3c5d841435f42bd3ff7a39bdf551471c34 (patch) | |
tree | 494e815fa02ed9f48d85908403751fcb029e876a | |
parent | 129bffd3885650cbf462c969d47bf74ee4e9ff06 (diff) | |
parent | 70a4eee11581026aab0342272294ac0be8fdee5b (diff) | |
download | Doxygen-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.l | 36 |
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; |