summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2018-12-26 12:13:57 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2018-12-26 12:13:57 (GMT)
commit6102ff5e5d93db9f23ebff8255302bcdb238ce49 (patch)
treeb3b49af66d21903b9c99fe2ed137234ddce50aca /src
parent1f4a3ab39a467b2e5e0159f95ed10cb9830d5011 (diff)
parent63931be561ab140b558418cffdd9b63b522c0e0d (diff)
downloadDoxygen-6102ff5e5d93db9f23ebff8255302bcdb238ce49.zip
Doxygen-6102ff5e5d93db9f23ebff8255302bcdb238ce49.tar.gz
Doxygen-6102ff5e5d93db9f23ebff8255302bcdb238ce49.tar.bz2
Merge branch 'mosra-xml-namespace-members-in-file-scope'
Diffstat (limited to 'src')
-rw-r--r--src/config.xml9
-rw-r--r--src/xmlgen.cpp17
2 files changed, 20 insertions, 6 deletions
diff --git a/src/config.xml b/src/config.xml
index db0f557..00a972d 100644
--- a/src/config.xml
+++ b/src/config.xml
@@ -2945,6 +2945,15 @@ or
]]>
</docs>
</option>
+ <option type='bool' id='XML_NS_MEMB_FILE_SCOPE' defval='0' depends='GENERATE_XML'>
+ <docs>
+<![CDATA[
+ If the \c XML_NS_MEMB_FILE_SCOPE tag is set to \c YES, doxygen
+ will include namespace members in file scope as well, matching the HTML
+ output.
+]]>
+ </docs>
+ </option>
</group>
<group name='Docbook' docs='Configuration options related to the DOCBOOK output'>
<option type='bool' id='GENERATE_DOCBOOK' defval='0'>
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index 4b12757..bacf4d4 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -1015,6 +1015,15 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De
t << " </memberdef>" << endl;
}
+// 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)
+{
+ return Config_getBool(XML_NS_MEMB_FILE_SCOPE) ||
+ d->definitionType()!=Definition::TypeFile ||
+ md->getNamespaceDef()==0;
+}
+
static void generateXMLSection(Definition *d,FTextStream &ti,FTextStream &t,
MemberList *ml,const char *kind,const char *header=0,
const char *documentation=0)
@@ -1025,9 +1034,7 @@ static void generateXMLSection(Definition *d,FTextStream &ti,FTextStream &t,
int count=0;
for (mli.toFirst();(md=mli.current());++mli)
{
- // namespace members are also inserted in the file scope, but
- // to prevent this duplication in the XML output, we filter those here.
- if (d->definitionType()!=Definition::TypeFile || md->getNamespaceDef()==0)
+ if (memberVisible(d,md))
{
count++;
}
@@ -1047,9 +1054,7 @@ static void generateXMLSection(Definition *d,FTextStream &ti,FTextStream &t,
}
for (mli.toFirst();(md=mli.current());++mli)
{
- // namespace members are also inserted in the file scope, but
- // to prevent this duplication in the XML output, we filter those here.
- if (d->definitionType()!=Definition::TypeFile || md->getNamespaceDef()==0)
+ if (memberVisible(d,md))
{
generateXMLForMember(md,ti,t,d);
}