diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2005-05-30 19:35:30 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2005-05-30 19:35:30 (GMT) |
commit | 365d0dd98ec1e2cbd7f732a5a9a963e5cf2fbde2 (patch) | |
tree | 3ef766a4fc3d6b5bf1987b9041d5046e2362c52e /src/commentscan.l | |
parent | 530402f723b5426086bc8efdb9b7c6513e2ed3fa (diff) | |
download | Doxygen-365d0dd98ec1e2cbd7f732a5a9a963e5cf2fbde2.zip Doxygen-365d0dd98ec1e2cbd7f732a5a9a963e5cf2fbde2.tar.gz Doxygen-365d0dd98ec1e2cbd7f732a5a9a963e5cf2fbde2.tar.bz2 |
Release-1.4.3-20050530
Diffstat (limited to 'src/commentscan.l')
-rw-r--r-- | src/commentscan.l | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/src/commentscan.l b/src/commentscan.l index 31a7c52..859cc1b 100644 --- a/src/commentscan.l +++ b/src/commentscan.l @@ -327,6 +327,7 @@ static Protection protection; static bool xrefAppendFlag; static bool inGroupParamFound; +static int braceCount; //----------------------------------------------------------------------------- @@ -855,14 +856,11 @@ SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID}) addOutput(yytext[2]); } <Comment>(\n|\\_linebr)({B}*(\n|\\_linebr))+ { // at least one blank line (or blank line command) - if (inContext==OutputBrief) - { - setOutput(OutputDoc); - } - else + if (inContext!=OutputBrief) { addOutput(yytext); } + setOutput(OutputDoc); lineCount(); } <Comment>"." { // potential end of a JavaDoc style comment @@ -1557,18 +1555,30 @@ SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID}) /* ----- handle argument of fn command ------- */ <FnParam>{DOCNL} { // end of argument - if (*yytext=='\n') yyLineNr++; - addOutput('\n'); - langParser->parsePrototype(functionProto); - BEGIN( Comment ); + if (braceCount==0) + { + if (*yytext=='\n') yyLineNr++; + addOutput('\n'); + //printf("functionProto=%s\n",functionProto.data()); + langParser->parsePrototype(functionProto); + BEGIN( Comment ); + } } <FnParam>{LC} { // line continuation yyLineNr++; functionProto+=' '; } -<FnParam>[^@\\\n]+ { // non-special characters +<FnParam>[^@\\\n()]+ { // non-special characters functionProto+=yytext; } +<FnParam>"(" { + functionProto+=yytext; + braceCount++; + } +<FnParam>")" { + functionProto+=yytext; + braceCount--; + } <FnParam>. { // add other stuff functionProto+=*yytext; } @@ -1655,6 +1665,7 @@ static void handleFn(const QCString &) { makeStructuralIndicator(Entry::MEMBERDOC_SEC); functionProto.resize(0); + braceCount=0; BEGIN(FnParam); } |