diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-10-19 11:25:01 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-10-19 11:25:01 (GMT) |
commit | 169d71426d1a42ec294c451af5f901620e6d89e5 (patch) | |
tree | da36a3d076d2ddd5f5264031807aa7183314bd3f | |
parent | e847d5dc322740b0097f56fc19311c8c74a44a55 (diff) | |
download | Doxygen-169d71426d1a42ec294c451af5f901620e6d89e5.zip Doxygen-169d71426d1a42ec294c451af5f901620e6d89e5.tar.gz Doxygen-169d71426d1a42ec294c451af5f901620e6d89e5.tar.bz2 |
Enabling both ALLEXTERNALS and BUILTIN_STL_SUPPORT caused artificial STL classes to appear in the class hierarchy.
-rw-r--r-- | src/classdef.cpp | 10 | ||||
-rw-r--r-- | src/doxygen.cpp | 2 |
2 files changed, 5 insertions, 7 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp index 20ead94..91730a0 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -3420,16 +3420,14 @@ bool ClassDefImpl::isLinkable() const /*! the class is visible in a class diagram, or class hierarchy */ bool ClassDefImpl::isVisibleInHierarchy() const { - static bool allExternals = Config_getBool(ALLEXTERNALS); - static bool hideUndocClasses = Config_getBool(HIDE_UNDOC_CLASSES); - static bool extractStatic = Config_getBool(EXTRACT_STATIC); + bool allExternals = Config_getBool(ALLEXTERNALS); + bool hideUndocClasses = Config_getBool(HIDE_UNDOC_CLASSES); + bool extractStatic = Config_getBool(EXTRACT_STATIC); return // show all classes or a subclass is visible - (allExternals || hasNonReferenceSuperClass()) && + ((allExternals && !isArtificial()) || hasNonReferenceSuperClass()) && // and not an anonymous compound !isAnonymous() && - // not an artificially introduced class - /*!isArtificial() &&*/ // 1.8.2: allowed these to appear // and not privately inherited protectionLevelVisible(m_impl->prot) && // documented or shown anyway or documentation is external diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 7970441..a47b525 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -4469,7 +4469,7 @@ static bool findClassRelation( if (baseClassTypeDef==0) { //printf(" => findTemplateInstanceRelation: %p\n",baseClassTypeDef); - findTemplateInstanceRelation(root,context,baseClass,templSpec,templateNames,isArtificial); + findTemplateInstanceRelation(root,context,baseClass,templSpec,templateNames,baseClass->isArtificial()); } } else if (mode==DocumentedOnly || mode==Undocumented) |