summaryrefslogtreecommitdiffstats
path: root/src/commentscan.l
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2005-05-30 19:35:30 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2005-05-30 19:35:30 (GMT)
commitad65c6e23de430b2c4f0ef732b95834c87a28c20 (patch)
tree3ef766a4fc3d6b5bf1987b9041d5046e2362c52e /src/commentscan.l
parent44904635bc78fae2ce60fc942cc5b7cba9958a34 (diff)
downloadDoxygen-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.l31
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);
}