diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2014-01-08 12:40:29 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2014-01-08 12:40:29 (GMT) |
commit | 1d0c9b6fefb6c2e0a9a2b7a7ea3192ccace33710 (patch) | |
tree | 8815bbc19a3ec4803239bdfa009d711a8fbcd076 /src/doxygen.cpp | |
parent | 1bfacc3b8e589907352eff923b7b3aa73cfc5138 (diff) | |
download | Doxygen-1d0c9b6fefb6c2e0a9a2b7a7ea3192ccace33710.zip Doxygen-1d0c9b6fefb6c2e0a9a2b7a7ea3192ccace33710.tar.gz Doxygen-1d0c9b6fefb6c2e0a9a2b7a7ea3192ccace33710.tar.bz2 |
Bug 721618 - Move contructors and move assignment operators of embedded classes of template classes cannot be matched.
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r-- | src/doxygen.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 12e73f6..1eac506 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -5567,6 +5567,15 @@ static bool isSpecialization( return FALSE; } +static bool scopeIsTemplate(Definition *d) +{ + bool result=FALSE; + if (d && d->definitionType()==Definition::TypeClass) + { + result = ((ClassDef*)d)->templateArguments() || scopeIsTemplate(d->getOuterScope()); + } + return result; +} static QCString substituteTemplatesInString( const QList<ArgumentList> &srcTempArgLists, @@ -6154,7 +6163,7 @@ static void findMember(EntryNav *rootNav, matching = FALSE; } } - bool classIsTemplate = md->getClassDef() && md->getClassDef()->templateArguments(); + bool classIsTemplate = scopeIsTemplate(md->getClassDef()); bool mdIsTemplate = md->templateArguments()!=0; bool classOrMdIsTemplate = mdIsTemplate || classIsTemplate; bool rootIsTemplate = root->tArgLists!=0; |