diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-11-05 17:53:20 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-11-09 18:47:45 (GMT) |
commit | 075229e586b391c3ec7ad79597aaeae392ca64e5 (patch) | |
tree | 2ad99929371727ad0811a55e597fa81a70ba43a7 /src/definitionimpl.h | |
parent | 6922d5d63d77c8f640c58e9c68a9955f9f0aa9a7 (diff) | |
download | Doxygen-075229e586b391c3ec7ad79597aaeae392ca64e5.zip Doxygen-075229e586b391c3ec7ad79597aaeae392ca64e5.tar.gz Doxygen-075229e586b391c3ec7ad79597aaeae392ca64e5.tar.bz2 |
Refactoring: Introduce immutable and mutable interfaces
Split Definition/ClassDef/NamespaceDef/MemberDef into a immutable and mutable part
Aliases are immutable, other symbols are stored using an immutable
interface but can be made mutable explicitly by dynamic casting.
Diffstat (limited to 'src/definitionimpl.h')
-rw-r--r-- | src/definitionimpl.h | 42 |
1 files changed, 4 insertions, 38 deletions
diff --git a/src/definitionimpl.h b/src/definitionimpl.h index 65027b4..2cf1bf6 100644 --- a/src/definitionimpl.h +++ b/src/definitionimpl.h @@ -23,7 +23,7 @@ #include "definition.h" -class DefinitionImpl : virtual public Definition +class DefinitionImpl : virtual public DefinitionMutable { public: /*! Create a new definition */ @@ -246,47 +246,14 @@ class DefinitionAliasImpl : virtual public Definition { return m_def->navigationPathAsString(); } virtual QCString pathFragment() const { return m_def->pathFragment(); } - virtual void setName(const char *) { } - virtual void setId(const char *) { } - virtual void setDefFile(const QCString&,int,int) {} - virtual void setDocumentation(const char *,const char *,int,bool=TRUE) {} - virtual void setBriefDescription(const char *,const char *,int) {} - virtual void setInbodyDocumentation(const char *,const char *,int) {} - virtual void setReference(const char *) {} - virtual void addSectionsToDefinition(const std::vector<const SectionInfo*> &) {} - virtual void setBodySegment(int,int,int) {} - virtual void setBodyDef(FileDef *) {} - virtual void addSourceReferencedBy(const MemberDef *) {} - virtual void addSourceReferences(const MemberDef *) {} - virtual void setRefItems(const RefItemVector &) {} - virtual void mergeRefItems(Definition *) {} - virtual void mergeReferences(const Definition *) {} - virtual void mergeReferencedBy(const Definition *) {} - virtual void addInnerCompound(const Definition *) {} - virtual void setOuterScope(Definition *) {} - virtual void setHidden(bool) {} - virtual void setArtificial(bool) {} - virtual void setLanguage(SrcLangExt) {} - virtual void writeSourceDef(OutputList &,const char *) const {} - virtual void writeInlineCode(OutputList &,const char *) const {} - virtual void writeSourceRefs(OutputList &,const char *) const {} - virtual void writeSourceReffedBy(OutputList &,const char *) const {} - virtual void makePartOfGroup(GroupDef *) {} - virtual void writeNavigationPath(OutputList &) const {} - virtual void writeQuickMemberLinks(OutputList &,const MemberDef *) const {} - virtual void writeSummaryLinks(OutputList &) const {} - virtual void writeDocAnchorsToTagFile(FTextStream &) const {} - virtual void setLocalName(const QCString) {} - virtual void addSectionsToIndex() {} - virtual void writeToc(OutputList &, const LocalToc &) const {} - virtual void setCookie(Cookie *cookie) const { delete m_cookie; m_cookie = cookie; } - virtual Cookie *cookie() const { return m_cookie; } - virtual void computeTooltip() {} + protected: const Definition *getAlias() const { return m_def; } const Definition *getScope() const { return m_scope; } private: + virtual void setCookie(Cookie *cookie) const { delete m_cookie; m_cookie = cookie; } + virtual Cookie *cookie() const { return m_cookie; } virtual void _setSymbolName(const QCString &name) { m_symbolName = name; } virtual QCString _symbolName() const { return m_symbolName; } const Definition *m_scope; @@ -295,5 +262,4 @@ class DefinitionAliasImpl : virtual public Definition QCString m_symbolName; }; - #endif |