summaryrefslogtreecommitdiffstats
path: root/src/definitionimpl.h
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2019-04-21 13:59:23 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2019-04-21 14:01:25 (GMT)
commit6216208b0a4288a41450e4d37226f0e4c492128c (patch)
tree07cee94d592cf127058652928be18534cc2a6b15 /src/definitionimpl.h
parentd226bc27b3c80586234b9c7d8ba2abc500e3be02 (diff)
downloadDoxygen-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.h184
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 &lt);
- virtual void setCookie(Cookie *cookie);
+ virtual void writeToc(OutputList &ol, const LocalToc &lt) 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 &lt) 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