summaryrefslogtreecommitdiffstats
path: root/src/util.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-04-29 19:25:24 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-04-29 19:25:24 (GMT)
commit6ca67aa0e617816789f2a662c86ad82426377b71 (patch)
tree77a589554e5c9b6df1caefc3a72bb6213ecbf731 /src/util.cpp
parente0e5f733ca5b41365ca76bbba1b7529cd1f24b66 (diff)
downloadDoxygen-6ca67aa0e617816789f2a662c86ad82426377b71.zip
Doxygen-6ca67aa0e617816789f2a662c86ad82426377b71.tar.gz
Doxygen-6ca67aa0e617816789f2a662c86ad82426377b71.tar.bz2
Refactoring: replace Doxygen::namespaceAliasDict by Doxygen::namespaceAliasMap
Diffstat (limited to 'src/util.cpp')
-rw-r--r--src/util.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 429d3b0..9e6605a 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -482,21 +482,22 @@ ClassDef *getClass(const char *n)
NamespaceDef *getResolvedNamespace(const char *name)
{
if (name==0 || name[0]=='\0') return 0;
- QCString *subst = Doxygen::namespaceAliasDict[name];
- if (subst)
+ auto it = Doxygen::namespaceAliasMap.find(name);
+ if (it!=Doxygen::namespaceAliasMap.end())
{
int count=0; // recursion detection guard
- QCString *newSubst;
- while ((newSubst=Doxygen::namespaceAliasDict[*subst]) && count<10)
+ StringMap::iterator it2;
+ while ((it2=Doxygen::namespaceAliasMap.find(it->second))!=Doxygen::namespaceAliasMap.end() &&
+ count<10)
{
- subst=newSubst;
+ it=it2;
count++;
}
if (count==10)
{
warn_uncond("possible recursive namespace alias detected for %s!\n",name);
}
- return Doxygen::namespaceSDict->find(subst->data());
+ return Doxygen::namespaceSDict->find(it->second.data());
}
else
{
@@ -6619,11 +6620,14 @@ void replaceNamespaceAliases(QCString &scope,int i)
while (i>0)
{
QCString ns = scope.left(i);
- QCString *s = Doxygen::namespaceAliasDict[ns];
- if (s)
+ if (!ns.isEmpty())
{
- scope=*s+scope.right(scope.length()-i);
- i=s->length();
+ auto it = Doxygen::namespaceAliasMap.find(ns.data());
+ if (it!=Doxygen::namespaceAliasMap.end())
+ {
+ scope=it->second.data()+scope.right(scope.length()-i);
+ i=it->second.length();
+ }
}
if (i>0 && ns==scope.left(i)) break;
}