diff options
Diffstat (limited to 'src/xmlgen.cpp')
-rw-r--r-- | src/xmlgen.cpp | 80 |
1 files changed, 41 insertions, 39 deletions
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp index d3b8355..16abbf2 100644 --- a/src/xmlgen.cpp +++ b/src/xmlgen.cpp @@ -29,6 +29,8 @@ #include "defargs.h" #include "outputgen.h" #include "dot.h" +#include "dotclassgraph.h" +#include "dotincldepgraph.h" #include "pagedef.h" #include "filename.h" #include "version.h" @@ -336,10 +338,10 @@ void XMLCodeGenerator::finish() if (m_insideCodeLine) endCodeLine(); } -static void writeTemplateArgumentList(ArgumentList *al, +static void writeTemplateArgumentList(const ArgumentList *al, FTextStream &t, - Definition *scope, - FileDef *fileScope, + const Definition *scope, + const FileDef *fileScope, int indent) { QCString indentStr; @@ -348,7 +350,7 @@ static void writeTemplateArgumentList(ArgumentList *al, { t << indentStr << "<templateparamlist>" << endl; ArgumentListIterator ali(*al); - Argument *a; + const Argument *a; for (ali.toFirst();(a=ali.current());++ali) { t << indentStr << " <param>" << endl; @@ -381,16 +383,16 @@ static void writeTemplateArgumentList(ArgumentList *al, } } -static void writeMemberTemplateLists(MemberDef *md,FTextStream &t) +static void writeMemberTemplateLists(const MemberDef *md,FTextStream &t) { - ArgumentList *templMd = md->templateArguments(); + const ArgumentList *templMd = md->templateArguments(); if (templMd) // function template prefix { writeTemplateArgumentList(templMd,t,md->getClassDef(),md->getFileDef(),8); } } -static void writeTemplateList(ClassDef *cd,FTextStream &t) +static void writeTemplateList(const ClassDef *cd,FTextStream &t) { writeTemplateArgumentList(cd->templateArguments(),t,cd,0,4); } @@ -398,8 +400,8 @@ static void writeTemplateList(ClassDef *cd,FTextStream &t) static void writeXMLDocBlock(FTextStream &t, const QCString &fileName, int lineNr, - Definition *scope, - MemberDef * md, + const Definition *scope, + const MemberDef * md, const QCString &text) { QCString stext = text.stripWhiteSpace(); @@ -442,7 +444,7 @@ void writeXMLCodeBlock(FTextStream &t,FileDef *fd) delete xmlGen; } -static void writeMemberReference(FTextStream &t,Definition *def,MemberDef *rmd,const char *tagName) +static void writeMemberReference(FTextStream &t,const Definition *def,const MemberDef *rmd,const char *tagName) { QCString scope = rmd->getScopeString(); QCString name = rmd->name(); @@ -478,7 +480,7 @@ static void stripQualifiers(QCString &typeStr) } } -static QCString classOutputFileBase(ClassDef *cd) +static QCString classOutputFileBase(const ClassDef *cd) { //static bool inlineGroupedClasses = Config_getBool(INLINE_GROUPED_CLASSES); //if (inlineGroupedClasses && cd->partOfGroups()!=0) @@ -487,7 +489,7 @@ static QCString classOutputFileBase(ClassDef *cd) // return cd->getOutputFileBase(); } -static QCString memberOutputFileBase(MemberDef *md) +static QCString memberOutputFileBase(const MemberDef *md) { //static bool inlineGroupedClasses = Config_getBool(INLINE_GROUPED_CLASSES); //if (inlineGroupedClasses && md->getClassDef() && md->getClassDef()->partOfGroups()!=0) @@ -498,7 +500,7 @@ static QCString memberOutputFileBase(MemberDef *md) } -static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,Definition *def) +static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream &t,const Definition *def) { // + declaration/definition arg lists @@ -589,7 +591,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De if (isFunc) { - ArgumentList *al = md->argumentList(); + const ArgumentList *al = md->argumentList(); t << " const=\""; if (al!=0 && al->constSpecifier) t << "yes"; else t << "no"; t << "\""; @@ -817,7 +819,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De t << " <bitfield>" << convertToXML(bitfield) << "</bitfield>" << endl; } - MemberDef *rmd = md->reimplements(); + const MemberDef *rmd = md->reimplements(); if (rmd) { t << " <reimplements refid=\"" @@ -838,13 +840,13 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De if (isFunc) //function { - ArgumentList *declAl = md->declArgumentList(); - ArgumentList *defAl = md->argumentList(); + const ArgumentList *declAl = md->declArgumentList(); + const ArgumentList *defAl = md->argumentList(); if (declAl && defAl && declAl->count()>0) { ArgumentListIterator declAli(*declAl); ArgumentListIterator defAli(*defAl); - Argument *a; + const Argument *a; for (declAli.toFirst();(a=declAli.current());++declAli) { Argument *defArg = defAli.current(); @@ -908,7 +910,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De else { ArgumentListIterator ali(*md->argumentList()); - Argument *a; + const Argument *a; for (ali.toFirst();(a=ali.current());++ali) { t << " <param><defname>" << a->type << "</defname></param>" << endl; @@ -932,11 +934,11 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De if (md->memberType()==MemberType_Enumeration) // enum { - MemberList *enumFields = md->enumFieldList(); + const MemberList *enumFields = md->enumFieldList(); if (enumFields) { MemberListIterator emli(*enumFields); - MemberDef *emd; + const MemberDef *emd; for (emli.toFirst();(emd=emli.current());++emli) { ti << " <member refid=\"" << memberOutputFileBase(md) @@ -1011,7 +1013,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De if (mdict) { MemberSDict::Iterator mdi(*mdict); - MemberDef *rmd; + const MemberDef *rmd; for (mdi.toFirst();(rmd=mdi.current());++mdi) { writeMemberReference(t,def,rmd,"references"); @@ -1021,7 +1023,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De if (mdict) { MemberSDict::Iterator mdi(*mdict); - MemberDef *rmd; + const MemberDef *rmd; for (mdi.toFirst();(rmd=mdi.current());++mdi) { writeMemberReference(t,def,rmd,"referencedby"); @@ -1033,20 +1035,20 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De // namespace members are also inserted in the file scope, but // to prevent this duplication in the XML output, we optionally filter those here. -static bool memberVisible(Definition *d,MemberDef *md) +static bool memberVisible(const Definition *d,const MemberDef *md) { return Config_getBool(XML_NS_MEMB_FILE_SCOPE) || d->definitionType()!=Definition::TypeFile || md->getNamespaceDef()==0; } -static void generateXMLSection(Definition *d,FTextStream &ti,FTextStream &t, +static void generateXMLSection(const Definition *d,FTextStream &ti,FTextStream &t, MemberList *ml,const char *kind,const char *header=0, const char *documentation=0) { if (ml==0) return; MemberListIterator mli(*ml); - MemberDef *md; + const MemberDef *md; int count=0; for (mli.toFirst();(md=mli.current());++mli) { @@ -1079,7 +1081,7 @@ static void generateXMLSection(Definition *d,FTextStream &ti,FTextStream &t, t << " </sectiondef>" << endl; } -static void writeListOfAllMembers(ClassDef *cd,FTextStream &t) +static void writeListOfAllMembers(const ClassDef *cd,FTextStream &t) { t << " <listofallmembers>" << endl; if (cd->memberNameInfoSDict()) @@ -1092,7 +1094,7 @@ static void writeListOfAllMembers(ClassDef *cd,FTextStream &t) MemberInfo *mi; for (mii.toFirst();(mi=mii.current());++mii) { - MemberDef *md=mi->memberDef; + const MemberDef *md=mi->memberDef; if (md->name().at(0)!='@') // skip anonymous members { Protection prot = mi->prot; @@ -1132,7 +1134,7 @@ static void writeInnerClasses(const ClassSDict *cl,FTextStream &t) if (cl) { ClassSDict::Iterator cli(*cl); - ClassDef *cd; + const ClassDef *cd; for (cli.toFirst();(cd=cli.current());++cli) { if (!cd->isHidden() && cd->name().find('@')==-1) // skip anonymous scopes @@ -1157,7 +1159,7 @@ static void writeInnerNamespaces(const NamespaceSDict *nl,FTextStream &t) if (nl) { NamespaceSDict::Iterator nli(*nl); - NamespaceDef *nd; + const NamespaceDef *nd; for (nli.toFirst();(nd=nli.current());++nli) { if (!nd->isHidden() && nd->name().find('@')==-1) // skip anonymous scopes @@ -1206,7 +1208,7 @@ static void writeInnerGroups(const GroupList *gl,FTextStream &t) if (gl) { GroupListIterator gli(*gl); - GroupDef *sgd; + const GroupDef *sgd; for (gli.toFirst();(sgd=gli.current());++gli) { t << " <innergroup refid=\"" << sgd->getOutputFileBase() @@ -1230,7 +1232,7 @@ static void writeInnerDirs(const DirList *dl,FTextStream &t) } } -static void generateXMLForClass(ClassDef *cd,FTextStream &ti) +static void generateXMLForClass(const ClassDef *cd,FTextStream &ti) { // + brief description // + detailed description @@ -1407,14 +1409,14 @@ static void generateXMLForClass(ClassDef *cd,FTextStream &ti) t << " <detaileddescription>" << endl; writeXMLDocBlock(t,cd->docFile(),cd->docLine(),cd,0,cd->documentation()); t << " </detaileddescription>" << endl; - DotClassGraph inheritanceGraph(cd,DotNode::Inheritance); + DotClassGraph inheritanceGraph(cd,Inheritance); if (!inheritanceGraph.isTrivial()) { t << " <inheritancegraph>" << endl; inheritanceGraph.writeXML(t); t << " </inheritancegraph>" << endl; } - DotClassGraph collaborationGraph(cd,DotNode::Collaboration); + DotClassGraph collaborationGraph(cd,Collaboration); if (!collaborationGraph.isTrivial()) { t << " <collaborationgraph>" << endl; @@ -1443,7 +1445,7 @@ static void generateXMLForClass(ClassDef *cd,FTextStream &ti) ti << " </compound>" << endl; } -static void generateXMLForNamespace(NamespaceDef *nd,FTextStream &ti) +static void generateXMLForNamespace(const NamespaceDef *nd,FTextStream &ti) { // + contained class definitions // + contained namespace definitions @@ -1659,7 +1661,7 @@ static void generateXMLForFile(FileDef *fd,FTextStream &ti) ti << " </compound>" << endl; } -static void generateXMLForGroup(GroupDef *gd,FTextStream &ti) +static void generateXMLForGroup(const GroupDef *gd,FTextStream &ti) { // + members // + member groups @@ -1983,7 +1985,7 @@ void generateXML() { ClassSDict::Iterator cli(*Doxygen::classSDict); - ClassDef *cd; + const ClassDef *cd; for (cli.toFirst();(cd=cli.current());++cli) { generateXMLForClass(cd,t); @@ -1999,7 +2001,7 @@ void generateXML() // } //} NamespaceSDict::Iterator nli(*Doxygen::namespaceSDict); - NamespaceDef *nd; + const NamespaceDef *nd; for (nli.toFirst();(nd=nli.current());++nli) { msg("Generating XML output for namespace %s\n",nd->name().data()); @@ -2018,7 +2020,7 @@ void generateXML() } } GroupSDict::Iterator gli(*Doxygen::groupSDict); - GroupDef *gd; + const GroupDef *gd; for (;(gd=gli.current());++gli) { msg("Generating XML output for group %s\n",gd->name().data()); |