summaryrefslogtreecommitdiffstats
path: root/src/docparser.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2019-08-04 14:19:53 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2019-08-04 14:19:53 (GMT)
commitd645425393534be6e486e7ac95a5dbfa2a732fdc (patch)
treeda2bf229a19f78c6f62cfb7c9fbd3acde33170f2 /src/docparser.cpp
parent300440178962a0c4b9c5a52b449a68777da67c7b (diff)
parent1c25efff32ab9b8032b032f5e2374f77b09354eb (diff)
downloadDoxygen-d645425393534be6e486e7ac95a5dbfa2a732fdc.zip
Doxygen-d645425393534be6e486e7ac95a5dbfa2a732fdc.tar.gz
Doxygen-d645425393534be6e486e7ac95a5dbfa2a732fdc.tar.bz2
Merge branch 'feature/issue_6831' of https://github.com/albert-github/doxygen into albert-github-feature/issue_6831
Diffstat (limited to 'src/docparser.cpp')
-rw-r--r--src/docparser.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/docparser.cpp b/src/docparser.cpp
index a18237e..f09a1ee 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -1165,17 +1165,25 @@ static void handleLinkedWord(DocNode *parent,QList<DocNode> &children,bool ignor
static void handleParameterType(DocNode *parent,QList<DocNode> &children,const QCString &paramTypes)
{
- QCString name = g_token->name;
- int p=0,i;
+ QCString name = g_token->name; // save token name
+ QCString name1;
+ int p=0,i,l,ii;
while ((i=paramTypes.find('|',p))!=-1)
{
- g_token->name = paramTypes.mid(p,i-p);
+ name1 = paramTypes.mid(p,i-p);
+ ii=name1.find('[');
+ g_token->name=ii!=-1 ? name1.mid(0,ii) : name1; // take part without []
handleLinkedWord(parent,children);
+ if (ii!=-1) children.append(new DocWord(parent,name1.mid(ii))); // add [] part
p=i+1;
+ children.append(new DocSeparator(parent,"|"));
}
- g_token->name = paramTypes.mid(p);
+ name1 = paramTypes.mid(p);
+ ii=name1.find('[');
+ g_token->name=ii!=-1 ? name1.mid(0,ii) : name1;
handleLinkedWord(parent,children);
- g_token->name = name;
+ if (ii!=-1) children.append(new DocWord(parent,name1.mid(ii)));
+ g_token->name = name; // restore original token name
}
static DocInternalRef *handleInternalRef(DocNode *parent)