summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2014-08-03 19:17:37 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2014-08-03 19:17:37 (GMT)
commit6f0269ef3074bbc4bc16ad63a0e0a8f9b5f0ce31 (patch)
treed54a211783205791dc3ce2ad8349f9fd7d1bce20 /src/doxygen.cpp
parente913d55b2e5a8e37ebd1ffd8fec730886a45fbda (diff)
downloadDoxygen-6f0269ef3074bbc4bc16ad63a0e0a8f9b5f0ce31.zip
Doxygen-6f0269ef3074bbc4bc16ad63a0e0a8f9b5f0ce31.tar.gz
Doxygen-6f0269ef3074bbc4bc16ad63a0e0a8f9b5f0ce31.tar.bz2
Bug 734077 - no uniquely matching class member found for inline function definition where parameter argument names don't match
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index df67fd1..c012050 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1256,7 +1256,7 @@ static void addClassToContext(EntryNav *rootNav)
Debug::print(Debug::Classes,0, " Found class with name %s (qualifiedName=%s -> cd=%p)\n",
cd ? cd->name().data() : root->name.data(), qualifiedName.data(),cd);
- if (cd)
+ if (cd)
{
fullName=cd->name();
Debug::print(Debug::Classes,0," Existing class %s!\n",cd->name().data());
@@ -1276,11 +1276,12 @@ static void addClassToContext(EntryNav *rootNav)
}
//cd->setName(fullName); // change name to match docs
- if (cd->templateArguments()==0)
+ if (cd->templateArguments()==0 || (cd->isForwardDeclared() && (root->spec&Entry::ForwardDecl)==0))
{
// this happens if a template class declared with @class is found
- // before the actual definition.
- ArgumentList *tArgList =
+ // before the actual definition or if a forward declaration has different template
+ // parameter names.
+ ArgumentList *tArgList =
getTemplateArgumentsFromName(cd->name(),root->tArgLists);
cd->setTemplateArguments(tArgList);
}