summaryrefslogtreecommitdiffstats
path: root/src/code.l
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2008-10-12 11:30:16 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2008-10-12 11:30:16 (GMT)
commitb37fae19ca1cab9c4daf0a09d5f31f92d0c80e1b (patch)
treedf8e13e4cac8b44414890fbf25c4bcd702d5ebd3 /src/code.l
parent2b7214abe11ecabe1030a6e757f067e6d77500e7 (diff)
downloadDoxygen-b37fae19ca1cab9c4daf0a09d5f31f92d0c80e1b.zip
Doxygen-b37fae19ca1cab9c4daf0a09d5f31f92d0c80e1b.tar.gz
Doxygen-b37fae19ca1cab9c4daf0a09d5f31f92d0c80e1b.tar.bz2
Release-1.5.7.1-20081012
Diffstat (limited to 'src/code.l')
-rw-r--r--src/code.l16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/code.l b/src/code.l
index 85d23b5..8c22012 100644
--- a/src/code.l
+++ b/src/code.l
@@ -687,7 +687,7 @@ static MemberDef *setCallContextForVar(const QCString &name)
QCString scope = name.left(scopeEnd);
QCString locName = name.right(name.length()-scopeEnd-2);
//printf("explicit scope: name=%s scope=%s\n",locName.data(),scope.data());
- ClassDef *mcd = getClass(scope); // TODO: check namespace as well
+ ClassDef *mcd = getClass(scope);
if (mcd && !locName.isEmpty())
{
MemberDef *md=mcd->getMemberByName(locName);
@@ -698,6 +698,20 @@ static MemberDef *setCallContextForVar(const QCString &name)
return md;
}
}
+ else // check namespace as well
+ {
+ NamespaceDef *mnd = getResolvedNamespace(scope);
+ if (mnd && !locName.isEmpty())
+ {
+ MemberDef *md=mnd->getMemberByName(locName);
+ if (md)
+ {
+ //printf("name=%s scope=%s\n",locName.data(),scope.data());
+ g_theCallContext.setClass(stripClassName(md->typeString()));
+ return md;
+ }
+ }
+ }
}
MemberName *mn;