diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2014-09-22 18:23:28 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2014-09-22 18:23:28 (GMT) |
commit | b9ad9a03cf4febeb2aa10ddca22c1c9296c5223b (patch) | |
tree | 059b5c4df60637b53cf98896407ad5ada2bf4ddd /src/namespacedef.cpp | |
parent | dec53d22986c8d2c44a30806a2c8ed03bbe24768 (diff) | |
download | Doxygen-b9ad9a03cf4febeb2aa10ddca22c1c9296c5223b.zip Doxygen-b9ad9a03cf4febeb2aa10ddca22c1c9296c5223b.tar.gz Doxygen-b9ad9a03cf4febeb2aa10ddca22c1c9296c5223b.tar.bz2 |
Bug 736992 - Member functions omitted from tagfile
Diffstat (limited to 'src/namespacedef.cpp')
-rw-r--r-- | src/namespacedef.cpp | 102 |
1 files changed, 79 insertions, 23 deletions
diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp index 2aa5728..8580a2e 100644 --- a/src/namespacedef.cpp +++ b/src/namespacedef.cpp @@ -259,6 +259,85 @@ bool NamespaceDef::hasDetailedDescription() const !documentation().isEmpty()); } +void NamespaceDef::writeTagFile(FTextStream &tagFile) +{ + tagFile << " <compound kind=\"namespace\">" << endl; + tagFile << " <name>" << convertToXML(name()) << "</name>" << endl; + tagFile << " <filename>" << convertToXML(getOutputFileBase()) << Doxygen::htmlFileExtension << "</filename>" << endl; + QCString idStr = id(); + if (!idStr.isEmpty()) + { + tagFile << " <clangid>" << convertToXML(idStr) << "</clangid>" << endl; + } + QListIterator<LayoutDocEntry> eli( + LayoutDocManager::instance().docEntries(LayoutDocManager::Namespace)); + LayoutDocEntry *lde; + for (eli.toFirst();(lde=eli.current());++eli) + { + switch (lde->kind()) + { + case LayoutDocEntry::NamespaceNestedNamespaces: + { + if (namespaceSDict) + { + SDict<NamespaceDef>::Iterator ni(*namespaceSDict); + NamespaceDef *nd; + for (ni.toFirst();(nd=ni.current());++ni) + { + if (nd->isLinkableInProject()) + { + tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl; + } + } + } + } + break; + case LayoutDocEntry::NamespaceClasses: + { + if (classSDict) + { + SDict<ClassDef>::Iterator ci(*classSDict); + ClassDef *cd; + for (ci.toFirst();(cd=ci.current());++ci) + { + if (cd->isLinkableInProject()) + { + tagFile << " <class kind=\"" << cd->compoundTypeString() + << "\">" << convertToXML(cd->name()) << "</class>" << endl; + } + } + } + } + case LayoutDocEntry::MemberDecl: + { + LayoutDocEntryMemberDecl *lmd = (LayoutDocEntryMemberDecl*)lde; + MemberList * ml = getMemberList(lmd->type); + if (ml) + { + ml->writeTagFile(tagFile); + } + } + break; + case LayoutDocEntry::MemberGroups: + { + if (memberGroupSDict) + { + MemberGroupSDict::Iterator mgli(*memberGroupSDict); + MemberGroup *mg; + for (;(mg=mgli.current());++mgli) + { + mg->writeTagFile(tagFile); + } + } + } + break; + default: + break; + } + } + writeDocAnchorsToTagFile(tagFile); + tagFile << " </compound>" << endl; +} void NamespaceDef::writeDetailedDescription(OutputList &ol,const QCString &title) { @@ -496,19 +575,6 @@ void NamespaceDef::writeDocumentation(OutputList &ol) Doxygen::searchIndex->addWord(localName(),TRUE); } - bool generateTagFile = !Config_getString("GENERATE_TAGFILE").isEmpty(); - if (generateTagFile) - { - Doxygen::tagFile << " <compound kind=\"namespace\">" << endl; - Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl; - Doxygen::tagFile << " <filename>" << convertToXML(getOutputFileBase()) << Doxygen::htmlFileExtension << "</filename>" << endl; - QCString idStr = id(); - if (!idStr.isEmpty()) - { - Doxygen::tagFile << " <clangid>" << convertToXML(idStr) << "</clangid>" << endl; - } - } - Doxygen::indexList->addIndexItem(this,0); //---------------------------------------- start flexible part ------------------------------- @@ -619,12 +685,6 @@ void NamespaceDef::writeDocumentation(OutputList &ol) endFileWithNavPath(this,ol); - if (generateTagFile) - { - writeDocAnchorsToTagFile(); - Doxygen::tagFile << " </compound>" << endl; - } - if (Config_getBool("SEPARATE_MEMBER_PAGES")) { MemberList *allMemberList = getMemberList(MemberListType_allMembersList); @@ -939,10 +999,6 @@ void NamespaceSDict::writeDeclaration(OutputList &ol,const char *title, name = nd->displayName(); } ol.writeObjectLink(nd->getReference(),nd->getOutputFileBase(),0,name); - if (!Config_getString("GENERATE_TAGFILE").isEmpty() && nd->isLinkableInProject()) - { - Doxygen::tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl; - } ol.endMemberItem(); if (!nd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC")) { |