diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-12-26 14:42:03 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-12-26 14:42:03 (GMT) |
commit | a945d52a62b73b23674f6dc0948e22011e278cf9 (patch) | |
tree | fac7051c556e3a8440ea9a3a6c2d9e3ca24ab935 /src/doxygen.cpp | |
parent | 459a66a0f6a8073fce07e3f54858d1d078c3a8d3 (diff) | |
download | Doxygen-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.cpp | 11 |
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()); } } } |