void MemberGroupInfo::setRefItems(const QList<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)); } }
int Definition::_getXRefListId(const char *listName) const { if (m_impl->xrefListItems) { QListIterator<ListItemInfo> slii(*m_impl->xrefListItems); ListItemInfo *lii; for (slii.toFirst();(lii=slii.current());++slii) { if (qstrcmp(lii->type,listName)==0) { return lii->itemId; } } } return -1; }
void MemberGroup::setRefItems(const QList<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)); } } }
void Definition::setRefItems(const QList<ListItemInfo> *sli) { //printf("%s::setRefItems()\n",name().data()); if (sli) { // deep copy the list if (m_impl->xrefListItems==0) { m_impl->xrefListItems=new QList<ListItemInfo>; m_impl->xrefListItems->setAutoDelete(TRUE); } QListIterator<ListItemInfo> slii(*sli); ListItemInfo *lii; for (slii.toFirst();(lii=slii.current());++slii) { m_impl->xrefListItems->append(new ListItemInfo(*lii)); } } }
void Definition::mergeRefItems(Definition *d) { //printf("%s::mergeRefItems()\n",name().data()); QList<ListItemInfo> *xrefList = d->xrefListItems(); if (xrefList!=0) { // deep copy the list if (m_impl->xrefListItems==0) { m_impl->xrefListItems=new QList<ListItemInfo>; m_impl->xrefListItems->setAutoDelete(TRUE); } QListIterator<ListItemInfo> slii(*xrefList); ListItemInfo *lii; for (slii.toFirst();(lii=slii.current());++slii) { if (_getXRefListId(lii->type)==-1) { m_impl->xrefListItems->append(new ListItemInfo(*lii)); } } } }
Entry::Entry(const Entry &e) { //printf("Entry::Entry(%p):copy\n",this); num++; section = e.section; type = e.type; name = e.name; tagInfo = e.tagInfo; protection = e.protection; mtype = e.mtype; spec = e.spec; initLines = e.initLines; stat = e.stat; localToc = e.localToc; explicitExternal = e.explicitExternal; proto = e.proto; subGrouping = e.subGrouping; callGraph = e.callGraph; callerGraph = e.callerGraph; virt = e.virt; args = e.args; bitfields = e.bitfields; argList = e.argList->deepCopy(); tArgLists = 0; program = e.program; initializer = e.initializer; includeFile = e.includeFile; includeName = e.includeName; doc = e.doc; docLine = e.docLine; docFile = e.docFile; brief = e.brief; briefLine = e.briefLine; briefFile = e.briefFile; inbodyDocs = e.inbodyDocs; inbodyLine = e.inbodyLine; inbodyFile = e.inbodyFile; relates = e.relates; relatesType = e.relatesType; read = e.read; write = e.write; inside = e.inside; exception = e.exception; typeConstr = 0; bodyLine = e.bodyLine; endBodyLine = e.endBodyLine; mGrpId = e.mGrpId; extends = new QList<BaseInfo>; extends->setAutoDelete(TRUE); groups = new QList<Grouping>; groups->setAutoDelete(TRUE); anchors = new QList<SectionInfo>; fileName = e.fileName; startLine = e.startLine; startColumn = e.startColumn; if (e.sli) { sli = new QList<ListItemInfo>; sli->setAutoDelete(TRUE); QListIterator<ListItemInfo> slii(*e.sli); ListItemInfo *ili; for (slii.toFirst();(ili=slii.current());++slii) { sli->append(new ListItemInfo(*ili)); } } else { sli=0; } lang = e.lang; hidden = e.hidden; artificial = e.artificial; groupDocType = e.groupDocType; id = e.id; m_parent = e.m_parent; m_sublist = new QList<Entry>; m_sublist->setAutoDelete(TRUE); // deep copy of the child entry list QListIterator<Entry> eli(*e.m_sublist); Entry *cur; for (;(cur=eli.current());++eli) { m_sublist->append(new Entry(*cur)); } // deep copy base class list QListIterator<BaseInfo> bli(*e.extends); BaseInfo *bi; for (;(bi=bli.current());++bli) { extends->append(new BaseInfo(*bi)); } // deep copy group list QListIterator<Grouping> gli(*e.groups); Grouping *g; for (;(g=gli.current());++gli) { groups->append(new Grouping(*g)); } QListIterator<SectionInfo> sli2(*e.anchors); SectionInfo *s; for (;(s=sli2.current());++sli2) { anchors->append(new SectionInfo(*s)); } // deep copy type constraint list if (e.typeConstr) { typeConstr = e.typeConstr->deepCopy(); } // deep copy template argument lists if (e.tArgLists) { tArgLists = copyArgumentLists(e.tArgLists); } }
Entry::Entry(const Entry &e) { num++; section = e.section; protection = e.protection; mtype = e.mtype; stat = e.stat; explicitExternal = e.explicitExternal; virt = e.virt; parent = e.parent; type = e.type.copy(); name = e.name.copy(); args = e.args.copy(); bitfields = e.bitfields.copy(); exception = e.exception.copy(); program = e.program.copy(); includeFile = e.includeFile.copy(); includeName = e.includeFile.copy(); doc = e.doc.copy(); docLine = e.docLine; docFile = e.docFile.copy(); relates = e.relates.copy(); relatesDup = e.relatesDup; read = e.read.copy(); write = e.write.copy(); brief = e.brief.copy(); briefLine = e.briefLine; briefFile = e.briefFile.copy(); inbodyDocs = e.inbodyDocs.copy(); inbodyLine = e.inbodyLine; inbodyFile = e.inbodyFile.copy(); inside = e.inside.copy(); fileName = e.fileName.copy(); startLine = e.startLine; mGrpId = e.mGrpId; bodyLine = e.bodyLine; endBodyLine = e.endBodyLine; memSpec = e.memSpec; initializer = e.initializer; initLines = e.initLines; callGraph = e.callGraph; callerGraph = e.callerGraph; objc = e.objc; tagInfo = e.tagInfo; hidden = e.hidden; sublist = new QList<Entry>; sublist->setAutoDelete(TRUE); extends = new QList<BaseInfo>; extends->setAutoDelete(TRUE); groups = new QList<Grouping>; groups->setAutoDelete(TRUE); anchors = new QList<SectionInfo>; argList = new ArgumentList; argList->setAutoDelete(TRUE); tArgLists = 0; groupDocType = e.groupDocType; // deep copy of the child entry list QListIterator<Entry> eli(*e.sublist); Entry *cur; for (;(cur=eli.current());++eli) { sublist->append(new Entry(*cur)); } // deep copy base class list QListIterator<BaseInfo> bli(*e.extends); BaseInfo *bi; for (;(bi=bli.current());++bli) { extends->append(new BaseInfo(*bi)); } // deep copy group list QListIterator<Grouping> gli(*e.groups); Grouping *g; for (;(g=gli.current());++gli) { groups->append(new Grouping(*g)); } QListIterator<SectionInfo> sli2(*e.anchors); SectionInfo *s; for (;(s=sli2.current());++sli2) { anchors->append(new SectionInfo(*s)); } // deep copy argument list QListIterator<Argument> ali(*e.argList); Argument *a; for (;(a=ali.current());++ali) { argList->append(new Argument(*a)); } argList->constSpecifier = e.argList->constSpecifier; argList->volatileSpecifier = e.argList->volatileSpecifier; argList->pureSpecifier = e.argList->pureSpecifier; // deep copy template argument lists if (e.tArgLists) { tArgLists = copyArgumentLists(e.tArgLists); } if (e.sli) { sli = new QList<ListItemInfo>; sli->setAutoDelete(TRUE); QListIterator<ListItemInfo> slii(*e.sli); ListItemInfo *ili; for (slii.toFirst();(ili=slii.current());++slii) { sli->append(new ListItemInfo(*ili)); } } else { sli=0; } }