summaryrefslogtreecommitdiffstats
path: root/src/membergroup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/membergroup.cpp')
-rw-r--r--src/membergroup.cpp73
1 files changed, 22 insertions, 51 deletions
diff --git a/src/membergroup.cpp b/src/membergroup.cpp
index a5852e4..05c38c3 100644
--- a/src/membergroup.cpp
+++ b/src/membergroup.cpp
@@ -40,8 +40,7 @@ MemberGroup::MemberGroup()
{
}
-MemberGroup::MemberGroup(const Definition *parent,
- int id,const char *hdr,const char *d,const char *docFile,int docLine)
+MemberGroup::MemberGroup(int id,const char *hdr,const char *d,const char *docFile,int docLine)
{
static bool sortBriefDocs = Config_getBool(SORT_BRIEF_DOCS);
@@ -55,10 +54,8 @@ MemberGroup::MemberGroup(const Definition *parent,
inDeclSection = 0;
m_numDecMembers = -1;
m_numDocMembers = -1;
- m_parent = parent;
m_docFile = docFile;
m_docLine = docLine;
- m_xrefListItems = 0;
//printf("Member group docs='%s'\n",doc.data());
}
@@ -69,33 +66,32 @@ MemberGroup::~MemberGroup()
void MemberGroup::insertMember(MemberDef *md)
{
- //printf("MemberGroup::insertMember m_parent=%s memberList=%p count=%d"
+ //printf("MemberGroup::insertMember memberList=%p count=%d"
// " member section list: %p: md=%p:%s\n",
- // m_parent ? m_parent->name().data() : "<null>",
- // memberList->first() ? memberList->first()->getSectionList(m_parent) : 0,
+ // memberList->first() ? memberList->first()->getSectionList() : 0,
// memberList->count(),
- // md->getSectionList(m_parent),
+ // md->getSectionList(),
// md,md->name().data());
MemberDef *firstMd = memberList->getFirst();
- if (inSameSection && firstMd &&
- firstMd->getSectionList(m_parent)!=md->getSectionList(m_parent))
+ if (inSameSection && firstMd && firstMd->getSectionList()!=md->getSectionList())
{
inSameSection=FALSE;
}
else if (inDeclSection==0)
{
- inDeclSection = const_cast<MemberList*>(md->getSectionList(m_parent));
+ inDeclSection = const_cast<MemberList*>(md->getSectionList());
//printf("inDeclSection=%p type=%d\n",inDeclSection,inDeclSection->listType());
}
memberList->append(md);
// copy the group of the first member in the memberGroup
GroupDef *gd;
- if (firstMd && (gd=const_cast<GroupDef*>(firstMd->getGroupDef())))
+ if (firstMd && !firstMd->isAlias() && (gd=const_cast<GroupDef*>(firstMd->getGroupDef())))
{
- md->setGroupDef(gd, firstMd->getGroupPri(),
- firstMd->getGroupFileName(), firstMd->getGroupStartLine(),
+ md->setGroupDef(gd, firstMd->getGroupPri(),
+ firstMd->getGroupFileName(),
+ firstMd->getGroupStartLine(),
firstMd->getGroupHasDocs());
gd->insertMember(md);
}
@@ -152,8 +148,8 @@ void MemberGroup::addGroupedInheritedMembers(OutputList &ol,const ClassDef *cd,
MemberDef *md;
for (li.toFirst();(md=li.current());++li)
{
- //printf("matching %d == %d\n",lt,md->getSectionList(m_parent)->listType());
- const MemberList *ml = md->getSectionList(m_parent);
+ //printf("matching %d == %d\n",lt,md->getSectionList()->listType());
+ const MemberList *ml = md->getSectionList();
if (ml && lt==ml->listType())
{
MemberList ml(lt);
@@ -172,8 +168,8 @@ int MemberGroup::countGroupedInheritedMembers(MemberListType lt)
MemberDef *md;
for (li.toFirst();(md=li.current());++li)
{
- //printf("matching %d == %d\n",lt,md->getSectionList(m_parent)->listType());
- const MemberList *ml = md->getSectionList(m_parent);
+ //printf("matching %d == %d\n",lt,md->getSectionList()->listType());
+ const MemberList *ml = md->getSectionList();
if (ml && lt==ml->listType())
{
count++;
@@ -343,7 +339,7 @@ QCString MemberGroup::anchor() const
void MemberGroup::addListReferences(Definition *def)
{
memberList->addListReferences(def);
- if (m_xrefListItems && def)
+ if (def)
{
QCString name = def->getOutputFileBase()+"#"+anchor();
addRefItem(m_xrefListItems,
@@ -354,29 +350,15 @@ void MemberGroup::addListReferences(Definition *def)
}
}
-void MemberGroup::findSectionsInDocumentation()
+void MemberGroup::findSectionsInDocumentation(const Definition *d)
{
- docFindSections(doc,0,this,m_docFile);
- memberList->findSectionsInDocumentation();
+ docFindSections(doc,d,m_docFile);
+ memberList->findSectionsInDocumentation(d);
}
-void MemberGroup::setRefItems(const QList<ListItemInfo> *sli)
+void MemberGroup::setRefItems(const std::vector<ListItemInfo> &sli)
{
- if (sli)
- {
- // deep copy the list
- if (m_xrefListItems==0)
- {
- m_xrefListItems=new QList<ListItemInfo>;
- m_xrefListItems->setAutoDelete(TRUE);
- }
- QListIterator<ListItemInfo> slii(*sli);
- ListItemInfo *lii;
- for (slii.toFirst();(lii=slii.current());++slii)
- {
- m_xrefListItems->append(new ListItemInfo(*lii));
- }
- }
+ m_xrefListItems.insert(m_xrefListItems.end(), sli.cbegin(), sli.cend());
}
void MemberGroup::writeTagFile(FTextStream &tagFile)
@@ -386,18 +368,7 @@ void MemberGroup::writeTagFile(FTextStream &tagFile)
//--------------------------------------------------------------------------
-void MemberGroupInfo::setRefItems(const QList<ListItemInfo> *sli)
+void MemberGroupInfo::setRefItems(const std::vector<ListItemInfo> &sli)
{
- if (!sli) return;
- if (m_sli==0)
- {
- m_sli = new QList<ListItemInfo>;
- m_sli->setAutoDelete(TRUE);
- }
- QListIterator<ListItemInfo> slii(*sli);
- ListItemInfo *ili;
- for (slii.toFirst();(ili=slii.current());++slii)
- {
- m_sli->append(new ListItemInfo(*ili));
- }
+ m_sli.insert(m_sli.end(), sli.cbegin(), sli.cend());
}