summaryrefslogtreecommitdiffstats
path: root/src/code.l
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2008-10-12 11:30:16 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2008-10-12 11:30:16 (GMT)
commitcd8d9d90f0ded716840cd405d88c8b711428e899 (patch)
treedf8e13e4cac8b44414890fbf25c4bcd702d5ebd3 /src/code.l
parent3102b81d682bf0b3b4dd50148434ab8e575a3d2e (diff)
downloadDoxygen-cd8d9d90f0ded716840cd405d88c8b711428e899.zip
Doxygen-cd8d9d90f0ded716840cd405d88c8b711428e899.tar.gz
Doxygen-cd8d9d90f0ded716840cd405d88c8b711428e899.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;