summaryrefslogtreecommitdiffstats
path: root/src/defgen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/defgen.cpp')
-rw-r--r--src/defgen.cpp220
1 files changed, 94 insertions, 126 deletions
diff --git a/src/defgen.cpp b/src/defgen.cpp
index cc3d5af..89f7568 100644
--- a/src/defgen.cpp
+++ b/src/defgen.cpp
@@ -1,13 +1,13 @@
/******************************************************************************
*
- *
+ *
*
*
* Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
@@ -71,14 +71,14 @@ void generateDEFForMember(MemberDef *md,
// + source definition
// - source references
// - source referenced by
- // - include code
+ // - include code
if (md->memberType()==MemberType_EnumValue) return;
QCString scopeName;
- if (md->getClassDef())
+ if (md->getClassDef())
scopeName=md->getClassDef()->name();
- else if (md->getNamespaceDef())
+ else if (md->getNamespaceDef())
scopeName=md->getNamespaceDef()->name();
t << " " << Prefix << "-member = {" << endl;
@@ -145,8 +145,7 @@ void generateDEFForMember(MemberDef *md,
if (isFunc) //function
{
const ArgumentList &defAl = md->argumentList();
- ArgumentList declAl;
- stringToArgumentList(md->getLanguage(),md->argsString(),declAl);
+ ArgumentList declAl = *stringToArgumentList(md->getLanguage(),md->argsString());
QCString fcnPrefix = " " + memPrefix + "param-";
auto defIt = defAl.begin();
@@ -185,7 +184,7 @@ void generateDEFForMember(MemberDef *md,
if (!a.array.isEmpty())
{
t << fcnPrefix << "array = ";
- writeDEFString(t,a.array);
+ writeDEFString(t,a.array);
t << ';' << endl;
}
if (!a.defval.isEmpty())
@@ -244,71 +243,58 @@ void generateDEFForMember(MemberDef *md,
//printf("md->getReferencesMembers()=%p\n",md->getReferencesMembers());
- MemberSDict *mdict = md->getReferencesMembers();
- if (mdict)
+ QCString refPrefix = " " + memPrefix + "ref-";
+ auto refList = md->getReferencesMembers();
+ for (const auto &rmd : refList)
{
- MemberSDict::Iterator mdi(*mdict);
- MemberDef *rmd;
- QCString refPrefix = " " + memPrefix + "ref-";
-
- for (mdi.toFirst();(rmd=mdi.current());++mdi)
+ if (rmd->getStartBodyLine()!=-1 && rmd->getBodyDef())
{
- if (rmd->getStartBodyLine()!=-1 && rmd->getBodyDef())
+ t << memPrefix << "referenceto = {" << endl;
+ t << refPrefix << "id = '"
+ << rmd->getBodyDef()->getOutputFileBase()
+ << "_1" // encoded ':' character (see util.cpp:convertNameToFile)
+ << rmd->anchor() << "';" << endl;
+
+ t << refPrefix << "line = '"
+ << rmd->getStartBodyLine() << "';" << endl;
+
+ QCString scope = rmd->getScopeString();
+ QCString name = rmd->name();
+ if (!scope.isEmpty() && scope!=def->name())
{
- t << memPrefix << "referenceto = {" << endl;
- t << refPrefix << "id = '"
- << rmd->getBodyDef()->getOutputFileBase()
- << "_1" // encoded ':' character (see util.cpp:convertNameToFile)
- << rmd->anchor() << "';" << endl;
-
- t << refPrefix << "line = '"
- << rmd->getStartBodyLine() << "';" << endl;
-
- QCString scope = rmd->getScopeString();
- QCString name = rmd->name();
- if (!scope.isEmpty() && scope!=def->name())
- {
- name.prepend(scope+"::");
- }
-
- t << refPrefix << "name = ";
- writeDEFString(t,name);
- t << ';' << endl << " };" << endl;
+ name.prepend(scope+"::");
}
- } /* for (mdi.toFirst...) */
+
+ t << refPrefix << "name = ";
+ writeDEFString(t,name);
+ t << ';' << endl << " };" << endl;
+ }
}
- mdict = md->getReferencedByMembers();
- if (mdict)
+ auto refByList = md->getReferencedByMembers();
+ for (const auto &rmd : refByList)
{
- MemberSDict::Iterator mdi(*mdict);
- MemberDef *rmd;
- QCString refPrefix = " " + memPrefix + "ref-";
-
- for (mdi.toFirst();(rmd=mdi.current());++mdi)
+ if (rmd->getStartBodyLine()!=-1 && rmd->getBodyDef())
{
- if (rmd->getStartBodyLine()!=-1 && rmd->getBodyDef())
+ t << memPrefix << "referencedby = {" << endl;
+ t << refPrefix << "id = '"
+ << rmd->getBodyDef()->getOutputFileBase()
+ << "_1" // encoded ':' character (see util.cpp:convertNameToFile)
+ << rmd->anchor() << "';" << endl;
+
+ t << refPrefix << "line = '"
+ << rmd->getStartBodyLine() << "';" << endl;
+
+ QCString scope = rmd->getScopeString();
+ QCString name = rmd->name();
+ if (!scope.isEmpty() && scope!=def->name())
{
- t << memPrefix << "referencedby = {" << endl;
- t << refPrefix << "id = '"
- << rmd->getBodyDef()->getOutputFileBase()
- << "_1" // encoded ':' character (see util.cpp:convertNameToFile)
- << rmd->anchor() << "';" << endl;
-
- t << refPrefix << "line = '"
- << rmd->getStartBodyLine() << "';" << endl;
-
- QCString scope = rmd->getScopeString();
- QCString name = rmd->name();
- if (!scope.isEmpty() && scope!=def->name())
- {
- name.prepend(scope+"::");
- }
-
- t << refPrefix << "name = ";
- writeDEFString(t,name);
- t << ';' << endl << " };" << endl;
+ name.prepend(scope+"::");
}
- } /* for (mdi.toFirst...) */
+
+ t << refPrefix << "name = ";
+ writeDEFString(t,name);
+ t << ';' << endl << " };" << endl;
+ }
}
t << " }; /* " << Prefix << "-member */" << endl;
@@ -359,66 +345,54 @@ void generateDEFForClass(ClassDef *cd,FTextStream &t)
t << " cp-id = '" << cd->getOutputFileBase() << "';" << endl;
t << " cp-name = '" << cd->name() << "';" << endl;
- if (cd->baseClasses())
+ for (const auto &bcd : cd->baseClasses())
{
- BaseClassListIterator bcli(*cd->baseClasses());
- BaseClassDef *bcd;
- for (bcli.toFirst();(bcd=bcli.current());++bcli)
+ t << " cp-ref = {" << endl << " ref-type = base;" << endl;
+ t << " ref-id = '"
+ << bcd.classDef->getOutputFileBase() << "';" << endl;
+ t << " ref-prot = ";
+ switch (bcd.prot)
{
- t << " cp-ref = {" << endl << " ref-type = base;" << endl;
- t << " ref-id = '"
- << bcd->classDef->getOutputFileBase() << "';" << endl;
- t << " ref-prot = ";
- switch (bcd->prot)
- {
- case Public: t << "public;" << endl; break;
- case Package: // package scope is not possible
- case Protected: t << "protected;" << endl; break;
- case Private: t << "private;" << endl; break;
- }
- t << " ref-virt = ";
- switch(bcd->virt)
- {
- case Normal: t << "non-virtual;"; break;
- case Virtual: t << "virtual;"; break;
- case Pure: t << "pure-virtual;"; break;
- }
- t << endl << " };" << endl;
+ case Public: t << "public;" << endl; break;
+ case Package: // package scope is not possible
+ case Protected: t << "protected;" << endl; break;
+ case Private: t << "private;" << endl; break;
+ }
+ t << " ref-virt = ";
+ switch(bcd.virt)
+ {
+ case Normal: t << "non-virtual;"; break;
+ case Virtual: t << "virtual;"; break;
+ case Pure: t << "pure-virtual;"; break;
}
+ t << endl << " };" << endl;
}
- if (cd->subClasses())
+ for (const auto &bcd : cd->subClasses())
{
- BaseClassListIterator bcli(*cd->subClasses());
- BaseClassDef *bcd;
- for (bcli.toFirst();(bcd=bcli.current());++bcli)
+ t << " cp-ref = {" << endl << " ref-type = derived;" << endl;
+ t << " ref-id = '"
+ << bcd.classDef->getOutputFileBase() << "';" << endl;
+ t << " ref-prot = ";
+ switch (bcd.prot)
{
- t << " cp-ref = {" << endl << " ref-type = derived;" << endl;
- t << " ref-id = '"
- << bcd->classDef->getOutputFileBase() << "';" << endl;
- t << " ref-prot = ";
- switch (bcd->prot)
- {
- case Public: t << "public;" << endl; break;
- case Package: // packet scope is not possible!
- case Protected: t << "protected;" << endl; break;
- case Private: t << "private;" << endl; break;
- }
- t << " ref-virt = ";
- switch(bcd->virt)
- {
- case Normal: t << "non-virtual;"; break;
- case Virtual: t << "virtual;"; break;
- case Pure: t << "pure-virtual;"; break;
- }
- t << endl << " };" << endl;
+ case Public: t << "public;" << endl; break;
+ case Package: // packet scope is not possible!
+ case Protected: t << "protected;" << endl; break;
+ case Private: t << "private;" << endl; break;
+ }
+ t << " ref-virt = ";
+ switch (bcd.virt)
+ {
+ case Normal: t << "non-virtual;"; break;
+ case Virtual: t << "virtual;"; break;
+ case Pure: t << "pure-virtual;"; break;
}
+ t << endl << " };" << endl;
}
int numMembers = 0;
- QListIterator<MemberList> mli(cd->getMemberLists());
- MemberList *ml;
- for (mli.toFirst();(ml=mli.current());++mli)
+ for (const auto &ml : cd->getMemberLists())
{
if ((ml->listType()&MemberListType_detailedLists)==0)
{
@@ -612,23 +586,17 @@ void generateDEF()
FTextStream t(&f);
t << "AutoGen Definitions dummy;" << endl;
- if (Doxygen::classSDict->count()+Doxygen::inputNameList->count()>0)
+ if (Doxygen::classLinkedMap->size()+Doxygen::inputNameLinkedMap->size()>0)
{
- ClassSDict::Iterator cli(*Doxygen::classSDict);
- ClassDef *cd;
- for (cli.toFirst();(cd=cli.current());++cli)
+ for (const auto &cd : *Doxygen::classLinkedMap)
{
- generateDEFForClass(cd,t);
+ generateDEFForClass(cd.get(),t);
}
- FileNameListIterator fnli(*Doxygen::inputNameList);
- FileName *fn;
- for (;(fn=fnli.current());++fnli)
+ for (const auto &fn : *Doxygen::inputNameLinkedMap)
{
- FileNameIterator fni(*fn);
- FileDef *fd;
- for (;(fd=fni.current());++fni)
+ for (const auto &fd : *fn)
{
- generateDEFForFile(fd,t);
+ generateDEFForFile(fd.get(),t);
}
}
}