summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-07-30 11:48:32 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-07-30 11:48:32 (GMT)
commite634088616c07a7e5d7e6dc91c8bb3f973637d58 (patch)
tree9391776db3bc44d5acf35b3339a8ce3037b8acac
parentc50b92c39435b558c5cb53be47dba41503f26fad (diff)
downloadDoxygen-e634088616c07a7e5d7e6dc91c8bb3f973637d58.zip
Doxygen-e634088616c07a7e5d7e6dc91c8bb3f973637d58.tar.gz
Doxygen-e634088616c07a7e5d7e6dc91c8bb3f973637d58.tar.bz2
Simplified extractDirection()
Also fixed bug preventing direction to be stripped from the parameter documentation.
-rw-r--r--src/memberdef.cpp2
-rw-r--r--src/util.cpp24
2 files changed, 5 insertions, 21 deletions
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 c810db5..bebfbb1 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -8137,29 +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)
{
- QRegExp re_in("\\[ *in *\\]"); // [in]
- QRegExp re_out("\\[ *out *\\]"); // [out]
- QRegExp re_inout("\\[ *in *[,]? *out *\\]"); // [in,out]
- QRegExp re_outin("\\[ *out *[,]? *in *\\]"); // [out,in]
- int l_in = 0;
- int l_out = 0;
- int l_inout = 0;
- int l_outin = 0;
- int inPos = re_in.match(docs,0,&l_in);
- int outPos = re_out.match(docs,0,&l_out);
- int inoutPos = re_inout.match(docs,0,&l_inout);
- int outinPos = re_outin.match(docs,0,&l_outin);
- // we only take the first occurrence into account
- bool input = (inPos!=-1 && l==l_in) ||
- (inoutPos!=-1 && l==l_inout) ||
- (outinPos!=-1 && l==l_outin);
- bool output = (outPos!=-1 && l==l_out) ||
- (inoutPos!=-1 && l==l_inout) ||
- (outinPos!=-1 && l==l_outin);
+ 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