summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-05-24 19:12:41 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-05-24 19:12:41 (GMT)
commit9e1745a1714d4ece7d490918de2eb7ff2060453e (patch)
tree5225a8b9c0898f1f3f89c69611439a6c5af1d178 /src/doxygen.cpp
parent64200b5e975b19f38f9a68569b98c6f53e6fe4d9 (diff)
downloadDoxygen-9e1745a1714d4ece7d490918de2eb7ff2060453e.zip
Doxygen-9e1745a1714d4ece7d490918de2eb7ff2060453e.tar.gz
Doxygen-9e1745a1714d4ece7d490918de2eb7ff2060453e.tar.bz2
Release-1.3-20030524
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 601ac2d..a386468 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -2133,9 +2133,16 @@ static void buildFunctionList(Entry *root)
//printf("root->parent=`%s' cd=%p root->type.find(re,0)=%d\n",
// root->parent->name.data(),getClass(root->parent->name),
// root->type.find(re,0));
- QCString scope=stripAnonymousNamespaceScope(root->parent->name.copy());
+ QCString scope=stripAnonymousNamespaceScope(root->parent->name);
scope=stripTemplateSpecifiersFromScope(scope,FALSE);
+ cd=getClass(scope);
+ if (cd && scope+"::"==rname.left(scope.length()+2)) // found A::f inside A
+ {
+ // strip scope from name
+ rname=rname.right(rname.length()-root->parent->name.length()-2);
+ }
+
bool isMember=FALSE;
int memIndex=rname.find("::");
if (memIndex!=-1)
@@ -2154,7 +2161,7 @@ static void buildFunctionList(Entry *root)
if (root->parent &&
!root->parent->name.isEmpty() &&
(root->parent->section & Entry::COMPOUND_MASK) &&
- (cd=getClass(scope)) &&
+ cd &&
// do some fuzzy things to exclude function pointers
(root->type.isEmpty() || root->type.find(re,0)==-1 ||
root->type.find(")(")!=-1 || root->type.find("operator")!=-1
@@ -4379,7 +4386,7 @@ static void findMember(Entry *root,
{
Debug::print(Debug::FindMembers,0,
"1. funcName=`%s'\n",funcName.data());
- if (funcName.left(9)=="operator ")
+ if (funcName.left(9)=="operator ") // strip class scope from cast operator
{
funcName = substitute(funcName,className+"::","");
}