diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2014-08-04 18:28:32 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2014-08-04 18:28:32 (GMT) |
commit | c863b9bca1d75088d3285d2bbbb04eb5670648be (patch) | |
tree | c14abe4ce23eb4b530154aaa7b3f087a0625b171 | |
parent | cfde6cdd600b21bba6a2eb0ca0e7e208e014ccaf (diff) | |
parent | d1e39098f94487f544a068b7864aa8d1b1f345cd (diff) | |
download | Doxygen-c863b9bca1d75088d3285d2bbbb04eb5670648be.zip Doxygen-c863b9bca1d75088d3285d2bbbb04eb5670648be.tar.gz Doxygen-c863b9bca1d75088d3285d2bbbb04eb5670648be.tar.bz2 |
Merge branch 'groleo-master'
-rw-r--r-- | src/classdef.cpp | 19 | ||||
-rw-r--r-- | src/classdef.h | 2 | ||||
-rw-r--r-- | src/definition.h | 2 |
3 files changed, 19 insertions, 4 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp index 522a53c..b32d5a8 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -187,6 +187,8 @@ class ClassDefImpl bool isGeneric; + bool isAnonymous; + uint64 spec; }; @@ -248,6 +250,7 @@ void ClassDefImpl::init(const char *defFileName, const char *name, isLocal=FALSE; } isGeneric = lang==SrcLangExt_CSharp && QCString(name).find('<')!=-1; + isAnonymous = QCString(name).find('@')!=-1; } ClassDefImpl::ClassDefImpl() : vhdlSummaryTitles(17) @@ -1772,7 +1775,7 @@ bool ClassDef::visibleInParentsDeclList() const static bool hideUndocClasses = Config_getBool("HIDE_UNDOC_CLASSES"); static bool extractLocalClasses = Config_getBool("EXTRACT_LOCAL_CLASSES"); bool linkable = isLinkable(); - return (name().find('@')==-1 && !isExtension() && + return (!isAnonymous() && !isExtension() && (protection()!=::Private || extractPrivate) && (linkable || (!hideUndocClasses && (!isLocal() || extractLocalClasses))) ); @@ -2597,7 +2600,7 @@ bool ClassDef::isLinkableInProject() const { return !name().isEmpty() && /* has a name */ !isArtificial() && !isHidden() && /* not hidden */ - name().find('@')==-1 && /* not anonymous */ + !isAnonymous() && /* not anonymous */ protectionLevelVisible(m_impl->prot) && /* private/internal */ (!m_impl->isLocal || extractLocal) && /* local */ (hasDocumentation() || !hideUndoc) && /* documented */ @@ -2629,7 +2632,7 @@ bool ClassDef::isVisibleInHierarchy() return // show all classes or a subclass is visible (allExternals || hasNonReferenceSuperClass()) && // and not an anonymous compound - name().find('@')==-1 && + !isAnonymous() && // not an artificially introduced class /*!isArtificial() &&*/ // 1.8.2: allowed these to appear // and not privately inherited @@ -4608,3 +4611,13 @@ bool ClassDef::subGrouping() const return m_impl->subGrouping; } +void ClassDef::setName(const char *name) +{ + m_impl->isAnonymous = QCString(name).find('@')!=-1; + Definition::setName(name); +} + +bool ClassDef::isAnonymous() const +{ + return m_impl->isAnonymous; +} diff --git a/src/classdef.h b/src/classdef.h index dee4ef4..9f0ae5f 100644 --- a/src/classdef.h +++ b/src/classdef.h @@ -310,6 +310,7 @@ class ClassDef : public Definition bool isJavaEnum() const; bool isGeneric() const; + bool isAnonymous() const; const ClassSDict *innerClasses() const; QCString title() const; @@ -360,6 +361,7 @@ class ClassDef : public Definition void addTaggedInnerClass(ClassDef *cd); void setTagLessReference(ClassDef *cd); + void setName(const char *name); //----------------------------------------------------------------------------------- // --- actions ---- diff --git a/src/definition.h b/src/definition.h index dfd9dad..05ea621 100644 --- a/src/definition.h +++ b/src/definition.h @@ -271,7 +271,7 @@ class Definition : public DefinitionIntf //----------------------------------------------------------------------------------- /*! Sets a new \a name for the definition */ - void setName(const char *name); + virtual void setName(const char *name); /*! Sets a unique id for the symbol. Used for libclang integration. */ void setId(const char *name); |