summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-12-26 14:42:03 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-12-26 14:42:03 (GMT)
commita945d52a62b73b23674f6dc0948e22011e278cf9 (patch)
treefac7051c556e3a8440ea9a3a6c2d9e3ca24ab935 /src/doxygen.cpp
parent459a66a0f6a8073fce07e3f54858d1d078c3a8d3 (diff)
downloadDoxygen-a945d52a62b73b23674f6dc0948e22011e278cf9.zip
Doxygen-a945d52a62b73b23674f6dc0948e22011e278cf9.tar.gz
Doxygen-a945d52a62b73b23674f6dc0948e22011e278cf9.tar.bz2
When instantiating templates also instantiate nested classes
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index b5e79dc..709b6f1 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -4372,7 +4372,7 @@ static bool findClassRelation(
int i=findTemplateSpecializationPosition(baseClassName);
int si=baseClassName.findRev("::",i);
if (si==-1) si=0;
- if (baseClass==0 && i!=-1)
+ if (baseClass==0 && static_cast<uint>(i)!=baseClassName.length())
// base class has template specifiers
{
// TODO: here we should try to find the correct template specialization
@@ -4428,13 +4428,6 @@ static bool findClassRelation(
}
//printf("2. found=%d\n",found);
- //printf("root->name=%s biName=%s baseClassName=%s\n",
- // root->name.data(),biName.data(),baseClassName.data());
- //if (cd->isCSharp() && i!=-1) // C# generic -> add internal -g postfix
- //{
- // baseClassName+="-g";
- //}
-
if (!found)
{
baseClass=toClassDefMutable(findClassWithinClassContext(context,cd,baseClassName));
@@ -7574,7 +7567,7 @@ static void createTemplateInstanceMembers()
ClassDefMutable *tcdm = toClassDefMutable(tcd);
if (tcdm)
{
- tcdm->addMembersToTemplateInstance(cd.get(),qdi.currentKey());
+ tcdm->addMembersToTemplateInstance(cd.get(),cd->templateArguments(),qdi.currentKey());
}
}
}