summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2014-01-08 12:40:29 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2014-01-08 12:40:29 (GMT)
commit1d0c9b6fefb6c2e0a9a2b7a7ea3192ccace33710 (patch)
tree8815bbc19a3ec4803239bdfa009d711a8fbcd076 /src
parent1bfacc3b8e589907352eff923b7b3aa73cfc5138 (diff)
downloadDoxygen-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')
-rw-r--r--src/doxygen.cpp11
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;