diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2005-05-30 19:35:30 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2005-05-30 19:35:30 (GMT) |
commit | ad65c6e23de430b2c4f0ef732b95834c87a28c20 (patch) | |
tree | 3ef766a4fc3d6b5bf1987b9041d5046e2362c52e /src/commentscan.l | |
parent | 44904635bc78fae2ce60fc942cc5b7cba9958a34 (diff) | |
download | Doxygen-ad65c6e23de430b2c4f0ef732b95834c87a28c20.zip Doxygen-ad65c6e23de430b2c4f0ef732b95834c87a28c20.tar.gz Doxygen-ad65c6e23de430b2c4f0ef732b95834c87a28c20.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); } |