From 4dfc5887660284b345eb93b6c07dc1f91e780fac Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sat, 9 Jan 2016 16:33:16 +0100 Subject: Bug 722654 - Inherited member of template class issues warning and is not documented --- src/doxygen.cpp | 10 ++++++---- src/memberdef.cpp | 11 +++++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/doxygen.cpp b/src/doxygen.cpp index a3a3d2a..5ce7629 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -11221,10 +11221,6 @@ void parseInput() flushCachedTemplateRelations(); g_s.end(); - g_s.begin("Creating members for template instances...\n"); - createTemplateInstanceMembers(); - g_s.end(); - g_s.begin("Computing class relations...\n"); computeTemplateClassRelations(); flushUnresolvedRelations(); @@ -11249,6 +11245,12 @@ void parseInput() transferFunctionDocumentation(); g_s.end(); + // moved to after finding and copying documentation, + // as this introduces new members see bug 722654 + g_s.begin("Creating members for template instances...\n"); + createTemplateInstanceMembers(); + g_s.end(); + g_s.begin("Building page list...\n"); buildPageList(rootNav); g_s.end(); diff --git a/src/memberdef.cpp b/src/memberdef.cpp index af4a690..c5d8334 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -1602,11 +1602,13 @@ void MemberDef::writeDeclaration(OutputList &ol, // *** write name if (!name().isEmpty() && name().at(0)!='@') // hide anonymous stuff { - //printf("Member name=`%s gd=%p md->groupDef=%p inGroup=%d isLinkable()=%d\n",name().data(),gd,getGroupDef(),inGroup,isLinkable()); + static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); + static bool extractStatic = Config_getBool("EXTRACT_STATIC"); + //printf("Member name=`%s gd=%p md->groupDef=%p inGroup=%d isLinkable()=%d hasDocumentation=%d\n",name().data(),gd,getGroupDef(),inGroup,isLinkable(),hasDocumentation()); if (!(name().isEmpty() || name().at(0)=='@') && // name valid (hasDocumentation() || isReference()) && // has docs - !(m_impl->prot==Private && !Config_getBool("EXTRACT_PRIVATE") && m_impl->mtype!=MemberType_Friend) && // hidden due to protection - !(isStatic() && m_impl->classDef==0 && !Config_getBool("EXTRACT_STATIC")) // hidden due to static-ness + !(m_impl->prot==Private && !extractPrivate && m_impl->mtype!=MemberType_Friend) && // hidden due to protection + !(isStatic() && m_impl->classDef==0 && !extractStatic) // hidden due to static-ness ) { if (m_impl->annMemb) @@ -1817,7 +1819,8 @@ void MemberDef::writeDeclaration(OutputList &ol, ol.disableAllBut(OutputGenerator::Html); //ol.endEmphasis(); ol.docify(" "); - if (separateMemberPages || + if (inheritedFrom || + separateMemberPages || (m_impl->group!=0 && gd==0) || (m_impl->nspace!=0 && nd==0) ) // forward link to the page or group or namespace -- cgit v0.12