diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2019-04-21 13:59:23 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2019-04-21 14:01:25 (GMT) |
commit | 6216208b0a4288a41450e4d37226f0e4c492128c (patch) | |
tree | 07cee94d592cf127058652928be18534cc2a6b15 /src/definitionimpl.h | |
parent | d226bc27b3c80586234b9c7d8ba2abc500e3be02 (diff) | |
download | Doxygen-6216208b0a4288a41450e4d37226f0e4c492128c.zip Doxygen-6216208b0a4288a41450e4d37226f0e4c492128c.tar.gz Doxygen-6216208b0a4288a41450e4d37226f0e4c492128c.tar.bz2 |
Improved const correctness and added support for inline namespaces
Diffstat (limited to 'src/definitionimpl.h')
-rw-r--r-- | src/definitionimpl.h | 184 |
1 files changed, 162 insertions, 22 deletions
diff --git a/src/definitionimpl.h b/src/definitionimpl.h index 864d35b..4dd324b 100644 --- a/src/definitionimpl.h +++ b/src/definitionimpl.h @@ -30,13 +30,11 @@ class DefinitionImpl : virtual public Definition bool isSymbol=TRUE); virtual ~DefinitionImpl(); + virtual bool isAlias() const { return FALSE; } virtual QCString name() const; - virtual QCString displayName(bool includeScope=TRUE) const = 0; virtual QCString localName() const; virtual QCString qualifiedName() const; virtual QCString symbolName() const; - virtual QCString getOutputFileBase() const = 0; - virtual QCString anchor() const = 0; virtual QCString getSourceFileBase() const; virtual QCString getSourceAnchor() const; virtual QCString documentation() const; @@ -55,8 +53,6 @@ class DefinitionImpl : virtual public Definition virtual int getDefColumn() const; virtual bool hasDocumentation() const; virtual bool hasUserDocumentation() const; - virtual bool isLinkableInProject() const = 0; - virtual bool isLinkable() const = 0; virtual bool isVisibleInProject() const; virtual bool isVisible() const; virtual bool isHidden() const; @@ -79,7 +75,7 @@ class DefinitionImpl : virtual public Definition virtual bool hasSources() const; virtual bool hasBriefDescription() const; virtual QCString id() const; - virtual SectionDict * getSectionDict(void); + virtual SectionDict * getSectionDict() const; virtual void setName(const char *name); virtual void setId(const char *name); virtual void setDefFile(const QCString& df,int defLine,int defColumn); @@ -90,30 +86,30 @@ class DefinitionImpl : virtual public Definition virtual void addSectionsToDefinition(QList<SectionInfo> *anchorList); virtual void setBodySegment(int bls,int ble); virtual void setBodyDef(FileDef *fd); - virtual void addSourceReferencedBy(MemberDef *d); - virtual void addSourceReferences(MemberDef *d); + virtual void addSourceReferencedBy(const MemberDef *d); + virtual void addSourceReferences(const MemberDef *d); virtual void setRefItems(const QList<ListItemInfo> *sli); virtual void mergeRefItems(Definition *d); - virtual void addInnerCompound(Definition *d); + virtual void addInnerCompound(const Definition *d); virtual void setOuterScope(Definition *d); virtual void setHidden(bool b); virtual void setArtificial(bool b); virtual void setLanguage(SrcLangExt lang); - virtual void writeSourceDef(OutputList &ol,const char *scopeName); - virtual void writeInlineCode(OutputList &ol,const char *scopeName); - virtual void writeSourceRefs(OutputList &ol,const char *scopeName); - virtual void writeSourceReffedBy(OutputList &ol,const char *scopeName); + virtual void writeSourceDef(OutputList &ol,const char *scopeName) const; + virtual void writeInlineCode(OutputList &ol,const char *scopeName) const; + virtual void writeSourceRefs(OutputList &ol,const char *scopeName) const; + virtual void writeSourceReffedBy(OutputList &ol,const char *scopeName) const; virtual void makePartOfGroup(GroupDef *gd); virtual void writeNavigationPath(OutputList &ol) const; virtual QCString navigationPathAsString() const; - virtual void writeQuickMemberLinks(OutputList &,MemberDef *) const; - virtual void writeSummaryLinks(OutputList &); + virtual void writeQuickMemberLinks(OutputList &,const MemberDef *) const; + virtual void writeSummaryLinks(OutputList &) const; virtual QCString pathFragment() const; - virtual void writeDocAnchorsToTagFile(FTextStream &); + virtual void writeDocAnchorsToTagFile(FTextStream &) const; virtual void setLocalName(const QCString name); virtual void addSectionsToIndex(); - virtual void writeToc(OutputList &ol, const LocalToc <); - virtual void setCookie(Cookie *cookie); + virtual void writeToc(OutputList &ol, const LocalToc <) const; + virtual void setCookie(Cookie *cookie) const; virtual Cookie *cookie() const; protected: @@ -121,15 +117,12 @@ class DefinitionImpl : virtual public Definition DefinitionImpl(const DefinitionImpl &d); private: - static void addToMap(const char *name,Definition *d); - static void removeFromMap(Definition *d); - virtual void _setSymbolName(const QCString &name); virtual QCString _symbolName() const ; int _getXRefListId(const char *listName) const; void _writeSourceRefList(OutputList &ol,const char *scopeName, - const QCString &text,MemberSDict *members,bool); + const QCString &text,MemberSDict *members,bool) const; void _setBriefDescription(const char *b,const char *briefFile,int briefLine); void _setDocumentation(const char *d,const char *docFile,int docLine,bool stripWhiteSpace,bool atTop); void _setInbodyDocumentation(const char *d,const char *docFile,int docLine); @@ -140,5 +133,152 @@ class DefinitionImpl : virtual public Definition IMPL *m_impl; // internal structure holding all private data }; +class DefinitionAliasImpl : virtual public Definition +{ + public: + DefinitionAliasImpl(const Definition *scope,const Definition *alias); + virtual ~DefinitionAliasImpl(); + + virtual bool isAlias() const { return TRUE; } + virtual QCString name() const + { return m_def->name(); } + virtual QCString localName() const + { return m_def->localName(); } + virtual QCString qualifiedName() const + { return m_def->qualifiedName(); } + virtual QCString symbolName() const + { return m_def->symbolName(); } + virtual QCString getSourceFileBase() const + { return m_def->getSourceFileBase(); } + virtual QCString getSourceAnchor() const + { return m_def->getSourceAnchor(); } + virtual QCString documentation() const + { return m_def->documentation(); } + virtual int docLine() const + { return m_def->docLine(); } + virtual QCString docFile() const + { return m_def->docFile(); } + virtual QCString briefDescription(bool abbreviate=FALSE) const + { return m_def->briefDescription(abbreviate); } + virtual QCString briefDescriptionAsTooltip() const + { return m_def->briefDescriptionAsTooltip(); } + virtual int briefLine() const + { return m_def->briefLine(); } + virtual QCString inbodyDocumentation() const + { return m_def->inbodyDocumentation(); } + virtual QCString inbodyFile() const + { return m_def->inbodyFile(); } + virtual int inbodyLine() const + { return m_def->inbodyLine(); } + virtual QCString briefFile() const + { return m_def->briefFile(); } + virtual QCString getDefFileName() const + { return m_def->getDefFileName(); } + virtual QCString getDefFileExtension() const + { return m_def->getDefFileExtension(); } + virtual int getDefLine() const + { return m_def->getDefLine(); } + virtual int getDefColumn() const + { return m_def->getDefColumn(); } + virtual bool hasDocumentation() const + { return m_def->hasDocumentation(); } + virtual bool hasUserDocumentation() const + { return m_def->hasUserDocumentation(); } + virtual bool isVisibleInProject() const + { return m_def->isVisibleInProject(); } + virtual bool isVisible() const + { return m_def->isVisible(); } + virtual bool isHidden() const + { return m_def->isHidden(); } + virtual bool isArtificial() const + { return m_def->isArtificial(); } + virtual QCString getReference() const + { return m_def->getReference(); } + virtual bool isReference() const + { return m_def->isReference(); } + virtual QCString externalReference(const QCString &relPath) const + { return m_def->externalReference(relPath); } + virtual int getStartBodyLine() const + { return m_def->getStartBodyLine(); } + virtual int getEndBodyLine() const + { return m_def->getEndBodyLine(); } + virtual FileDef *getBodyDef() const + { return m_def->getBodyDef(); } + virtual SrcLangExt getLanguage() const + { return m_def->getLanguage(); } + virtual GroupList *partOfGroups() const + { return m_def->partOfGroups(); } + virtual bool isLinkableViaGroup() const + { return m_def->isLinkableViaGroup(); } + virtual QList<ListItemInfo> *xrefListItems() const + { return m_def->xrefListItems(); } + virtual Definition *findInnerCompound(const char *name) const + { return m_def->findInnerCompound(name); } + virtual Definition *getOuterScope() const + { return const_cast<Definition*>(m_scope); } + virtual MemberSDict *getReferencesMembers() const + { return m_def->getReferencesMembers(); } + virtual MemberSDict *getReferencedByMembers() const + { return m_def->getReferencedByMembers(); } + virtual bool hasSections() const + { return m_def->hasSections(); } + virtual bool hasSources() const + { return m_def->hasSources(); } + virtual bool hasBriefDescription() const + { return m_def->hasBriefDescription(); } + virtual QCString id() const + { return m_def->id(); } + virtual SectionDict * getSectionDict() const + { return m_def->getSectionDict(); } + virtual QCString navigationPathAsString() const + { return m_def->navigationPathAsString(); } + virtual QCString pathFragment() const + { return m_def->pathFragment(); } + virtual void setName(const char *name) { } + virtual void setId(const char *name) { } + virtual void setDefFile(const QCString& df,int defLine,int defColumn) {} + virtual void setDocumentation(const char *d,const char *docFile,int docLine,bool stripWhiteSpace=TRUE) {} + virtual void setBriefDescription(const char *b,const char *briefFile,int briefLine) {} + virtual void setInbodyDocumentation(const char *d,const char *docFile,int docLine) {} + virtual void setReference(const char *r) {} + virtual void addSectionsToDefinition(QList<SectionInfo> *anchorList) {} + virtual void setBodySegment(int bls,int ble) {} + virtual void setBodyDef(FileDef *fd) {} + virtual void addSourceReferencedBy(const MemberDef *d) {} + virtual void addSourceReferences(const MemberDef *d) {} + virtual void setRefItems(const QList<ListItemInfo> *sli) {} + virtual void mergeRefItems(Definition *d) {} + virtual void addInnerCompound(const Definition *d) {} + virtual void setOuterScope(Definition *d) {} + virtual void setHidden(bool b) {} + virtual void setArtificial(bool b) {} + virtual void setLanguage(SrcLangExt lang) {} + virtual void writeSourceDef(OutputList &ol,const char *scopeName) const {} + virtual void writeInlineCode(OutputList &ol,const char *scopeName) const {} + virtual void writeSourceRefs(OutputList &ol,const char *scopeName) const {} + virtual void writeSourceReffedBy(OutputList &ol,const char *scopeName) const {} + virtual void makePartOfGroup(GroupDef *gd) {} + virtual void writeNavigationPath(OutputList &ol) const {} + virtual void writeQuickMemberLinks(OutputList &,const MemberDef *) const {} + virtual void writeSummaryLinks(OutputList &) const {} + virtual void writeDocAnchorsToTagFile(FTextStream &) const {} + virtual void setLocalName(const QCString name) {} + virtual void addSectionsToIndex() {} + virtual void writeToc(OutputList &ol, const LocalToc <) const {} + virtual void setCookie(Cookie *cookie) const { delete m_cookie; m_cookie = cookie; } + virtual Cookie *cookie() const { return m_cookie; } + protected: + const Definition *getAlias() const { return m_def; } + const Definition *getScope() const { return m_scope; } + + private: + virtual void _setSymbolName(const QCString &name) { m_symbolName = name; } + virtual QCString _symbolName() const { return m_symbolName; } + const Definition *m_scope; + const Definition *m_def; + mutable Cookie *m_cookie; + QCString m_symbolName; +}; + #endif |