diff options
Diffstat (limited to 'src/membergroup.cpp')
-rw-r--r-- | src/membergroup.cpp | 73 |
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()); } |