summaryrefslogtreecommitdiffstats
path: root/src/context.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-04-27 10:23:58 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-04-27 10:23:58 (GMT)
commit2b67e2815cf43f9425a7af5e9224e39a77692bdf (patch)
tree540dc66784d322a0545b8b061a73c6588565ef60 /src/context.cpp
parent6f7443e86a2b6633fafeba5e8baa0941c22c757d (diff)
downloadDoxygen-2b67e2815cf43f9425a7af5e9224e39a77692bdf.zip
Doxygen-2b67e2815cf43f9425a7af5e9224e39a77692bdf.tar.gz
Doxygen-2b67e2815cf43f9425a7af5e9224e39a77692bdf.tar.bz2
Refactoring: migrate MemberNameInfoSDict to MemberNameInfoLinkedMap
Diffstat (limited to 'src/context.cpp')
-rw-r--r--src/context.cpp52
1 files changed, 17 insertions, 35 deletions
diff --git a/src/context.cpp b/src/context.cpp
index 718bbd8..af9a66c 100644
--- a/src/context.cpp
+++ b/src/context.cpp
@@ -2503,15 +2503,8 @@ class ClassContext::Private : public DefinitionContext<ClassContext::Private>
Cachable &cache = getCache();
if (!cache.allMembersList)
{
- if (m_classDef->memberNameInfoSDict())
- {
- AllMembersListContext *ml = AllMembersListContext::alloc(m_classDef->memberNameInfoSDict());
- cache.allMembersList.reset(ml);
- }
- else
- {
- cache.allMembersList.reset(AllMembersListContext::alloc());
- }
+ AllMembersListContext *ml = AllMembersListContext::alloc(m_classDef->memberNameInfoLinkedMap());
+ cache.allMembersList.reset(ml);
}
return cache.allMembersList.get();
}
@@ -8766,31 +8759,24 @@ TemplateVariant MemberInfoContext::get(const char *name) const
class AllMembersListContext::Private : public GenericNodeListContext
{
public:
- Private(const MemberNameInfoSDict *ml)
+ Private(const MemberNameInfoLinkedMap &ml)
{
- if (ml)
+ static bool hideUndocMembers = Config_getBool(HIDE_UNDOC_MEMBERS);
+ for (auto &mni : ml)
{
- static bool hideUndocMembers = Config_getBool(HIDE_UNDOC_MEMBERS);
- MemberNameInfoSDict::Iterator mnii(*ml);
- MemberNameInfo *mni;
- for (mnii.toFirst();(mni=mnii.current());++mnii)
+ for (auto &mi : *mni)
{
- MemberNameInfoIterator mnii2(*mni);
- MemberInfo *mi;
- for (mnii2.toFirst();(mi=mnii2.current());++mnii2)
+ const MemberDef *md=mi->memberDef();
+ const ClassDef *cd=md->getClassDef();
+ if (cd && !md->isAnonymous())
{
- const MemberDef *md=mi->memberDef();
- const ClassDef *cd=md->getClassDef();
- if (cd && !md->isAnonymous())
+ if ((cd->isLinkable() && md->isLinkable()) ||
+ (!cd->isArtificial() && !hideUndocMembers &&
+ (protectionLevelVisible(md->protection()) || md->isFriend())
+ )
+ )
{
- if ((cd->isLinkable() && md->isLinkable()) ||
- (!cd->isArtificial() && !hideUndocMembers &&
- (protectionLevelVisible(md->protection()) || md->isFriend())
- )
- )
- {
- append(MemberInfoContext::alloc(mi));
- }
+ append(MemberInfoContext::alloc(mi.get()));
}
}
}
@@ -8798,12 +8784,8 @@ class AllMembersListContext::Private : public GenericNodeListContext
}
};
-AllMembersListContext::AllMembersListContext() : RefCountedContext("AllMembersListContext")
-{
- p = new Private(0);
-}
-
-AllMembersListContext::AllMembersListContext(const MemberNameInfoSDict *ml) : RefCountedContext("AllMembersListContext")
+AllMembersListContext::AllMembersListContext(const MemberNameInfoLinkedMap &ml)
+ : RefCountedContext("AllMembersListContext")
{
p = new Private(ml);
}