summaryrefslogtreecommitdiffstats
path: root/src/membergroup.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-08-24 09:05:08 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-08-24 09:05:08 (GMT)
commit8578e6bead66cae44b61214b3a43f776ed008362 (patch)
tree960824dc207870a6fbe6cc9cbfc294d9ea0a481f /src/membergroup.cpp
parent61e31b90708d501904665f85cfd3ea1b826b7afa (diff)
downloadDoxygen-8578e6bead66cae44b61214b3a43f776ed008362.zip
Doxygen-8578e6bead66cae44b61214b3a43f776ed008362.tar.gz
Doxygen-8578e6bead66cae44b61214b3a43f776ed008362.tar.bz2
issue #7973: C++ grouped functions in namespace have disapeard
- reverted some of the change that introduced the problem - fixed the original problem (#7216) in a different way
Diffstat (limited to 'src/membergroup.cpp')
-rw-r--r--src/membergroup.cpp37
1 files changed, 12 insertions, 25 deletions
diff --git a/src/membergroup.cpp b/src/membergroup.cpp
index 523b577..e229835 100644
--- a/src/membergroup.cpp
+++ b/src/membergroup.cpp
@@ -29,33 +29,14 @@
#include "entry.h"
#include "md5.h"
-//static QCString idToName(int id)
-//{
-// QCString result;
-// result.sprintf("mgroup_%d",id);
-// return result;
-//}
-
-MemberGroup::MemberGroup()
-{
-}
-
-MemberGroup::MemberGroup(int id,const char *hdr,const char *d,const char *docFile,int docLine)
+MemberGroup::MemberGroup(const Definition *container,int id,const char *hdr,const char *d,const char *docFile,int docLine)
+ : m_container(container), grpId(id), grpHeader(hdr), doc(d), m_docFile(docFile), m_docLine(docLine)
{
static bool sortBriefDocs = Config_getBool(SORT_BRIEF_DOCS);
//printf("New member group id=%d header=%s desc=%s\n",id,hdr,d);
memberList = new MemberList(MemberListType_memberGroup);
memberList->setNeedsSorting(sortBriefDocs); // detailed sections are already sorted elsewhere.
- grpId = id;
- grpHeader = hdr;
- doc = d;
- inSameSection = TRUE;
- inDeclSection = 0;
- m_numDecMembers = -1;
- m_numDocMembers = -1;
- m_docFile = docFile;
- m_docLine = docLine;
//printf("Member group docs='%s'\n",doc.data());
}
@@ -74,13 +55,14 @@ void MemberGroup::insertMember(MemberDef *md)
// md,md->name().data());
MemberDef *firstMd = memberList->getFirst();
- if (inSameSection && firstMd && firstMd->getSectionList()!=md->getSectionList())
+ if (inSameSection && firstMd &&
+ firstMd->getSectionList(m_container)!=md->getSectionList(m_container))
{
inSameSection=FALSE;
}
else if (inDeclSection==0)
{
- inDeclSection = const_cast<MemberList*>(md->getSectionList());
+ inDeclSection = const_cast<MemberList*>(md->getSectionList(m_container));
//printf("inDeclSection=%p type=%d\n",inDeclSection,inDeclSection->listType());
}
memberList->append(md);
@@ -125,6 +107,7 @@ void MemberGroup::writePlainDeclarations(OutputList &ol,
void MemberGroup::writeDocumentation(OutputList &ol,const char *scopeName,
const Definition *container,bool showEnumValues,bool showInline) const
{
+ //printf("MemberGroup::writeDocumentation() %s\n",grpHeader.data());
memberList->writeDocumentation(ol,scopeName,container,0,showEnumValues,showInline);
}
@@ -149,7 +132,7 @@ void MemberGroup::addGroupedInheritedMembers(OutputList &ol,const ClassDef *cd,
for (li.toFirst();(md=li.current());++li)
{
//printf("matching %d == %d\n",lt,md->getSectionList()->listType());
- const MemberList *ml = md->getSectionList();
+ const MemberList *ml = md->getSectionList(m_container);
if (ml && lt==ml->listType())
{
MemberList mml(lt);
@@ -169,7 +152,7 @@ int MemberGroup::countGroupedInheritedMembers(MemberListType lt)
for (li.toFirst();(md=li.current());++li)
{
//printf("matching %d == %d\n",lt,md->getSectionList()->listType());
- const MemberList *ml = md->getSectionList();
+ const MemberList *ml = md->getSectionList(m_container);
if (ml && lt==ml->listType())
{
count++;
@@ -202,6 +185,10 @@ void MemberGroup::countDocMembers()
memberList->countDocMembers();
}
+const Definition *MemberGroup::container() const
+{
+ return m_container;
+}
int MemberGroup::countInheritableMembers(const ClassDef *inheritedFrom) const
{