summaryrefslogtreecommitdiffstats
path: root/src/classdef.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2013-12-29 08:47:51 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2013-12-29 08:47:51 (GMT)
commit744d1ca52e25dfa9e3d656056d87ed7cb6320585 (patch)
tree4829b62cf252449983b94d46c0cf167d3442c62e /src/classdef.cpp
parent2912829ca5bced897a2c063d1883b9cfd39d3bd9 (diff)
downloadDoxygen-744d1ca52e25dfa9e3d656056d87ed7cb6320585.zip
Doxygen-744d1ca52e25dfa9e3d656056d87ed7cb6320585.tar.gz
Doxygen-744d1ca52e25dfa9e3d656056d87ed7cb6320585.tar.bz2
More work on the template and context mechanisms
Diffstat (limited to 'src/classdef.cpp')
-rw-r--r--src/classdef.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index 6404431..7e8b331 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -1767,20 +1767,24 @@ void ClassDef::writeMoreLink(OutputList &ol,const QCString &anchor)
}
}
+bool ClassDef::visibleInParentsDeclList() const
+{
+ static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE");
+ static bool hideUndocClasses = Config_getBool("HIDE_UNDOC_CLASSES");
+ static bool extractLocalClasses = Config_getBool("EXTRACT_LOCAL_CLASSES");
+ bool linkable = isLinkable();
+ return (name().find('@')==-1 && !isExtension() &&
+ (protection()!=::Private || extractPrivate) &&
+ (linkable || (!hideUndocClasses && (!isLocal() || extractLocalClasses)))
+ );
+}
void ClassDef::writeDeclarationLink(OutputList &ol,bool &found,const char *header,bool localNames)
{
//static bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN");
//static bool vhdlOpt = Config_getBool("OPTIMIZE_OUTPUT_VHDL");
- static bool hideUndocClasses = Config_getBool("HIDE_UNDOC_CLASSES");
- static bool extractLocalClasses = Config_getBool("EXTRACT_LOCAL_CLASSES");
- bool isLink = isLinkable();
SrcLangExt lang = getLanguage();
- if (isLink ||
- (!hideUndocClasses &&
- (!isLocal() || extractLocalClasses)
- )
- )
+ if (visibleInParentsDeclList())
{
if (!found) // first class
{
@@ -1820,7 +1824,7 @@ void ClassDef::writeDeclarationLink(OutputList &ol,bool &found,const char *heade
ol.writeString(" ");
ol.insertMemberAlign();
}
- if (isLink)
+ if (isLinkable())
{
ol.writeObjectLink(getReference(),
getOutputFileBase(),