diff options
-rw-r--r-- | src/doctokenizer.l | 2 | ||||
-rw-r--r-- | src/memberdef.cpp | 2 | ||||
-rw-r--r-- | src/util.cpp | 9 |
3 files changed, 6 insertions, 7 deletions
diff --git a/src/doctokenizer.l b/src/doctokenizer.l index f232c3a..ac5b6d2 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -392,7 +392,7 @@ SPCMD2 {CMD}[\\@<>&$#%~".+=|-] SPCMD3 {CMD}_form#[0-9]+ SPCMD4 {CMD}"::" SPCMD5 {CMD}":" -INOUT "inout"|"in"|"out"|("in"{BLANK}*","{BLANK}*"out")|("out"{BLANK}*","{BLANK}*"in") +INOUT "in"|"out"|("in"{BLANK}*","?{BLANK}*"out")|("out"{BLANK}*","?{BLANK}*"in") PARAMIO {CMD}param{BLANK}*"["{BLANK}*{INOUT}{BLANK}*"]" VARARGS "..." TEMPCHAR [a-z_A-Z0-9.,: \t\*\&\(\)\[\]] diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 7d6acb5..7645a01 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -3761,7 +3761,7 @@ void MemberDefImpl::writeDocumentation(const MemberList *ml, { QCString docsWithoutDir = a.docs; QCString direction = extractDirection(docsWithoutDir); - paramDocs+="@param"+direction+" "+a.name+" "+a.docs; + paramDocs+="@param"+direction+" "+a.name+" "+docsWithoutDir; } } // feed the result to the documentation parser diff --git a/src/util.cpp b/src/util.cpp index 13ae200..bebfbb1 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -8137,14 +8137,13 @@ bool classVisibleInIndex(const ClassDef *cd) QCString extractDirection(QCString &docs) { - QRegExp re("\\[[^\\]]+\\]"); // [...] + QRegExp re("\\[[ inout,]+\\]"); // [...] int l=0; if (re.match(docs,0,&l)==0) { - int inPos = docs.find("in", 1,FALSE); - int outPos = docs.find("out",1,FALSE); - bool input = inPos!=-1 && inPos<l; - bool output = outPos!=-1 && outPos<l; + QCString dir=docs.left(l); + bool input = dir.find("in")!=-1; + bool output = dir.find("out")!=-1; if (input || output) // in,out attributes { docs = docs.mid(l); // strip attributes |