summaryrefslogtreecommitdiffstats
path: root/src/xmlgen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmlgen.cpp')
-rw-r--r--src/xmlgen.cpp80
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());