summaryrefslogtreecommitdiffstats
path: root/src/groupdef.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2011-06-06 19:49:53 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2011-06-06 19:49:53 (GMT)
commit0bb78ec1f61b95b550b65361081c01a104728341 (patch)
treeb158d4e26359c261b119f485d1d4c69a6034663c /src/groupdef.cpp
parent3c0d4d412c7b6c2afa9e76fcfd5ef5ea8586ad68 (diff)
downloadDoxygen-0bb78ec1f61b95b550b65361081c01a104728341.zip
Doxygen-0bb78ec1f61b95b550b65361081c01a104728341.tar.gz
Doxygen-0bb78ec1f61b95b550b65361081c01a104728341.tar.bz2
Release-1.7.4-20110606
Diffstat (limited to 'src/groupdef.cpp')
-rw-r--r--src/groupdef.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index f4d4eb9..0ac582b 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -235,15 +235,20 @@ bool GroupDef::insertMember(MemberDef *md,bool docOnly)
(srcMd->getOuterScope()->definitionType()==Definition::TypeFile &&
md->getOuterScope()->definitionType()==Definition::TypeFile);
- LockingPtr<ArgumentList> srcMdAl = srcMd->argumentList();
- LockingPtr<ArgumentList> mdAl = md->argumentList();
+ LockingPtr<ArgumentList> srcMdAl = srcMd->argumentList();
+ LockingPtr<ArgumentList> mdAl = md->argumentList();
+ LockingPtr<ArgumentList> tSrcMdAl = srcMd->templateArguments();
+ LockingPtr<ArgumentList> tMdAl = md->templateArguments();
- if (srcMd->isFunction() && md->isFunction() &&
+ if (srcMd->isFunction() && md->isFunction() && // both are a function
+ (tSrcMdAl.pointer()==0 && tMdAl.pointer()==0 ||
+ (tSrcMdAl.pointer()!=0 && tMdAl.pointer()!=0 && tSrcMdAl->count()==tMdAl->count())
+ ) && // same number of template arguments
matchArguments2(srcMd->getOuterScope(),srcMd->getFileDef(),srcMdAl.pointer(),
md->getOuterScope(),md->getFileDef(),mdAl.pointer(),
TRUE
- ) &&
- sameScope
+ ) && // matching parameters
+ sameScope // both are found in the same scope
)
{
if (srcMd->getGroupAlias()==0)