diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2019-11-05 18:49:17 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2019-11-05 18:49:17 (GMT) |
commit | b32afdbd35624376000aaf12d09930e311692c53 (patch) | |
tree | b7d34cb2a860b2994ae597c33888042585d91008 /src/definition.cpp | |
parent | cc4675afcc5f6825b9302fd0915c0c4148f555ab (diff) | |
download | Doxygen-b32afdbd35624376000aaf12d09930e311692c53.zip Doxygen-b32afdbd35624376000aaf12d09930e311692c53.tar.gz Doxygen-b32afdbd35624376000aaf12d09930e311692c53.tar.bz2 |
issue #7302: Determination of anonymous is too restrictive
Diffstat (limited to 'src/definition.cpp')
-rw-r--r-- | src/definition.cpp | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/src/definition.cpp b/src/definition.cpp index 5b2136c..1a166fe 100644 --- a/src/definition.cpp +++ b/src/definition.cpp @@ -51,22 +51,21 @@ class DefinitionImpl::IMPL { public: - IMPL(); ~IMPL(); void init(const char *df, const char *n); void setDefFileName(const QCString &df); - SectionDict *sectionDict; // dictionary of all sections, not accessible + SectionDict *sectionDict = 0; // dictionary of all sections, not accessible - MemberSDict *sourceRefByDict; - MemberSDict *sourceRefsDict; + MemberSDict *sourceRefByDict = 0; + MemberSDict *sourceRefsDict = 0; std::vector<ListItemInfo> xrefListItems; - GroupList *partOfGroups; + GroupList *partOfGroups = 0; - DocInfo *details; // not exported - DocInfo *inbodyDocs; // not exported - BriefInfo *brief; // not exported - BodyInfo *body; // not exported + DocInfo *details = 0; // not exported + DocInfo *inbodyDocs = 0; // not exported + BriefInfo *brief = 0; // not exported + BodyInfo *body = 0; // not exported QCString briefSignatures; QCString docSignatures; @@ -75,16 +74,17 @@ class DefinitionImpl::IMPL QCString qualifiedName; QCString ref; // reference to external documentation - bool hidden; - bool isArtificial; + bool hidden = FALSE; + bool isArtificial = FALSE; + bool isAnonymous = FALSE; - Definition *outerScope; // not owner + Definition *outerScope = 0; // not owner // where the item was defined QCString defFileName; QCString defFileExt; - SrcLangExt lang; + SrcLangExt lang = SrcLangExt_Unknown; QCString id; // clang unique id @@ -96,13 +96,6 @@ class DefinitionImpl::IMPL Cookie *cookie; }; -DefinitionImpl::IMPL::IMPL() - : sectionDict(0), sourceRefByDict(0), sourceRefsDict(0), - partOfGroups(0), - details(0), inbodyDocs(0), brief(0), body(0), hidden(FALSE), isArtificial(FALSE), - outerScope(0), lang(SrcLangExt_Unknown) -{ -} DefinitionImpl::IMPL::~IMPL() { @@ -304,7 +297,7 @@ DefinitionImpl::DefinitionImpl(const char *df,int dl,int dc, const char *d,bool isSymbol) { m_impl = new DefinitionImpl::IMPL; - m_impl->name = name; + setName(name); m_impl->defLine = dl; m_impl->defColumn = dc; m_impl->init(df,name); @@ -406,6 +399,9 @@ void DefinitionImpl::setName(const char *name) { if (name==0) return; m_impl->name = name; + m_impl->isAnonymous = m_impl->name.isEmpty() || + m_impl->name.at(0)=='@' || + m_impl->name.find("::@")!=-1; } void DefinitionImpl::setId(const char *id) @@ -2203,6 +2199,11 @@ QCString DefinitionImpl::name() const return m_impl->name; } +bool DefinitionImpl::isAnonymous() const +{ + return m_impl->isAnonymous; +} + int DefinitionImpl::getDefLine() const { return m_impl->defLine; |