diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2016-08-28 11:23:07 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2016-08-28 11:23:07 (GMT) |
commit | 59a8f09137ebfc25c2f238a417088b50b8fbb631 (patch) | |
tree | 7e54d5df60bad98436e90acfa2181840255be045 | |
parent | 46942e9333b77703b67f95d457972730a82163ef (diff) | |
parent | 8b1e673c427be33887373e766eff02c9fe57b39f (diff) | |
download | Doxygen-59a8f09137ebfc25c2f238a417088b50b8fbb631.zip Doxygen-59a8f09137ebfc25c2f238a417088b50b8fbb631.tar.gz Doxygen-59a8f09137ebfc25c2f238a417088b50b8fbb631.tar.bz2 |
Merge branch 'master' of github.com:doxygen/doxygen
-rw-r--r-- | src/pyscanner.l | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/src/pyscanner.l b/src/pyscanner.l index 35d305d..3bebe0e 100644 --- a/src/pyscanner.l +++ b/src/pyscanner.l @@ -1205,51 +1205,49 @@ STARTDOCSYMS "##" current->initializer += " "; } {B} { // spaces + current->initializer += yytext; } {INTNUMBER} { // integer value - current->type = "int"; + if (current-> type.isEmpty()) current->type = "int"; current->initializer += yytext; - BEGIN(VariableEnd); } {FLOATNUMBER} { // floating point value - current->type = "float"; + if (current->type.isEmpty()) current->type = "float"; current->initializer += yytext; - BEGIN(VariableEnd); } {BOOL} { // boolean value - current->type = "bool"; + if (current->type.isEmpty()) current->type = "bool"; current->initializer += yytext; - BEGIN(VariableEnd); } {STRINGPREFIX}?"'" { // string - current->type = "string"; + if (current->type.isEmpty()) current->type = "string"; current->initializer += yytext; g_copyString=¤t->initializer; - g_stringContext=VariableEnd; + g_stringContext=VariableDec; BEGIN( SingleQuoteString ); } {STRINGPREFIX}?"\"" { // string - current->type = "string"; + if (current->type.isEmpty()) current->type = "string"; current->initializer += yytext; g_copyString=¤t->initializer; - g_stringContext=VariableEnd; + g_stringContext=VariableDec; BEGIN( DoubleQuoteString ); } {TRIDOUBLEQUOTE} { // start of a comment block - current->type = "string"; + if (current->type.isEmpty()) current->type = "string"; current->initializer += yytext; g_doubleQuote=TRUE; g_copyString=¤t->initializer; - g_stringContext=VariableEnd; + g_stringContext=VariableDec; BEGIN(TripleString); } {TRISINGLEQUOTE} { // start of a comment block - current->type = "string"; + if (current->type.isEmpty()) current->type = "string"; current->initializer += yytext; g_doubleQuote=FALSE; g_copyString=¤t->initializer; - g_stringContext=VariableEnd; + g_stringContext=VariableDec; BEGIN(TripleString); } "(" { // tuple, only when direct after = @@ -1283,6 +1281,20 @@ STARTDOCSYMS "##" BEGIN( VariableEnd ); } {IDENTIFIER} { + // do something based on the type of the IDENTIFIER + if (current->type.isEmpty()) + { + QListIterator<Entry> eli(*(current_root->children())); + Entry *child; + for (eli.toFirst();(child=eli.current());++eli) + { + if (child->name == QCString(yytext)) + { + current->type = child->type; + break; + } + } + } g_start_init = FALSE; current->initializer+=yytext; } |