summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-07-30 11:50:47 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-07-30 11:50:47 (GMT)
commitb52706b8ee01f45cc3616c52c78dcc8b2d21b464 (patch)
tree9391776db3bc44d5acf35b3339a8ce3037b8acac
parent4ae47ae6f238d465eefa1b5a85c0cf3f7857bc57 (diff)
parente634088616c07a7e5d7e6dc91c8bb3f973637d58 (diff)
downloadDoxygen-b52706b8ee01f45cc3616c52c78dcc8b2d21b464.zip
Doxygen-b52706b8ee01f45cc3616c52c78dcc8b2d21b464.tar.gz
Doxygen-b52706b8ee01f45cc3616c52c78dcc8b2d21b464.tar.bz2
Merge branch 'albert-github-feature/bug_direction'
-rw-r--r--src/doctokenizer.l2
-rw-r--r--src/memberdef.cpp2
-rw-r--r--src/util.cpp9
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