Skip to content

Commit

Permalink
Fix for rendering the template parameters of members of variadic temp…
Browse files Browse the repository at this point in the history
…late classes.
  • Loading branch information
Dimitri van Heesch committed Mar 22, 2015
1 parent 9537515 commit 32093bc
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 8 deletions.
12 changes: 6 additions & 6 deletions src/defargs.l
Expand Up @@ -370,18 +370,18 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
if (a->type.left(6)=="const ") sv=6;
else if (a->type.left(9)=="volatile ") sv=9;
if (a->type.mid(sv)=="struct" ||
a->type.mid(sv)=="union" ||
a->type.mid(sv)=="class" ||
a->type.mid(sv)=="typename" ||
a->type=="const" ||
if (a->type.mid(sv,6)=="struct" ||
a->type.mid(sv,5)=="union" ||
a->type.mid(sv,5)=="class" ||
a->type.mid(sv,8)=="typename" ||
a->type=="const" ||
a->type=="volatile"
)
{
a->type = a->type + " " + a->name;
a->name.resize(0);
}
//printf(" --> a->type='%s'\n",a->type.data());
//printf(" --> a->type='%s' a->name='%s'\n",a->type.data(),a->name.data());
}
else // assume only the type was specified, try to determine name later
{
Expand Down
2 changes: 1 addition & 1 deletion src/doxygen.cpp
Expand Up @@ -1353,7 +1353,7 @@ static void addClassToContext(EntryNav *rootNav)
//printf("new ClassDef %s tempArgList=%p specScope=%s\n",fullName.data(),root->tArgList,root->scopeSpec.data());

//printf("class %s template args=%s\n",fullName.data(),
// tArgList ? tempArgListToString(tArgList).data() : "<none>");
// tArgList ? tempArgListToString(tArgList,root->lang).data() : "<none>");
cd->setTemplateArguments(tArgList);
cd->setProtection(root->protection);
cd->setIsStatic(root->stat);
Expand Down
6 changes: 5 additions & 1 deletion src/util.cpp
Expand Up @@ -1724,7 +1724,7 @@ QCString removeRedundantWhiteSpace(const QCString &s)
growBuf.addChar(' ');
}
else if (i>0 && c=='>' && // current char is a >
(isId(s.at(i-1)) || isspace((uchar)s.at(i-1)) || s.at(i-1)=='*' || s.at(i-1)=='&') && // prev char is an id char or space
(isId(s.at(i-1)) || isspace((uchar)s.at(i-1)) || s.at(i-1)=='*' || s.at(i-1)=='&' || s.at(i-1)=='.') && // prev char is an id char or space
(i<8 || !findOperator(s,i)) // string in front is not "operator"
)
{
Expand Down Expand Up @@ -2225,6 +2225,10 @@ QCString tempArgListToString(ArgumentList *al,SrcLangExt lang)
if (i>0)
{
result+=a->type.right(a->type.length()-i-1);
if (a->type.find("...")!=-1)
{
result+="...";
}
}
else // nothing found -> take whole name
{
Expand Down

0 comments on commit 32093bc

Please sign in to comment.