diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-11-15 10:40:25 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-11-15 10:40:25 (GMT) |
commit | 6728e04f215353429aec7b468448fa3eaeaa499d (patch) | |
tree | a107b9279edcbc5ce8b455e4d197803e864f0db7 /src/context.h | |
parent | fce7c2f8af2ccd04137c7db163333d0110241835 (diff) | |
download | Doxygen-6728e04f215353429aec7b468448fa3eaeaa499d.zip Doxygen-6728e04f215353429aec7b468448fa3eaeaa499d.tar.gz Doxygen-6728e04f215353429aec7b468448fa3eaeaa499d.tar.bz2 |
Refactoring: remove isVisited/setVisited from context
Diffstat (limited to 'src/context.h')
-rw-r--r-- | src/context.h | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/src/context.h b/src/context.h index 240e8fd..3bedb69 100644 --- a/src/context.h +++ b/src/context.h @@ -503,12 +503,15 @@ class ClassHierarchyContext : public RefCountedContext, public TemplateStructInt //---------------------------------------------------- +using ClassDefSet = std::set<const ClassDef*>; + class NestingNodeContext : public RefCountedContext, public TemplateStructIntf { public: static NestingNodeContext *alloc(const NestingNodeContext *parent,const Definition *def, - int index,int level,bool addClasses,bool inherit,bool hideSuper) - { return new NestingNodeContext(parent,def,index,level,addClasses,inherit,hideSuper); } + int index,int level,bool addClasses,bool inherit,bool hideSuper, + ClassDefSet &visitedClasses) + { return new NestingNodeContext(parent,def,index,level,addClasses,inherit,hideSuper,visitedClasses); } QCString id() const; @@ -519,7 +522,8 @@ class NestingNodeContext : public RefCountedContext, public TemplateStructIntf private: NestingNodeContext(const NestingNodeContext *parent, - const Definition *,int index,int level,bool addClasses,bool inherit,bool hideSuper); + const Definition *,int index,int level,bool addClasses,bool inherit,bool hideSuper, + ClassDefSet &visitedClasses); ~NestingNodeContext(); class Private; Private *p; @@ -530,6 +534,7 @@ class NestingNodeContext : public RefCountedContext, public TemplateStructIntf class NestingContext : public RefCountedContext, public TemplateListIntf { public: + static NestingContext *alloc(const NestingNodeContext *parent,int level) { return new NestingContext(parent,level); } @@ -540,17 +545,17 @@ class NestingContext : public RefCountedContext, public TemplateListIntf virtual int addRef() { return RefCountedContext::addRef(); } virtual int release() { return RefCountedContext::release(); } - void addNamespaces(const NamespaceSDict &nsDict,bool rootOnly,bool addClasses); - void addClasses(const ClassSDict &clDict,bool rootOnly); - void addDirs(const DirSDict &); - void addDirs(const DirList &); - void addFiles(const FileNameLinkedMap &); - void addFiles(const FileList &); - void addPages(const PageSDict &pages,bool rootOnly); - void addModules(const GroupSDict &modules); - void addModules(const GroupList &modules); - void addClassHierarchy(const ClassSDict &clDict,bool rootOnly); - void addDerivedClasses(const BaseClassList &bcl,bool hideSuper); + void addNamespaces(const NamespaceSDict &nsDict,bool rootOnly,bool addClasses,ClassDefSet &visitedClasses); + void addClasses(const ClassSDict &clDict,bool rootOnly,ClassDefSet &visitedClasses); + void addDirs(const DirSDict &,ClassDefSet &visitedClasses); + void addDirs(const DirList &,ClassDefSet &visitedClasses); + void addFiles(const FileNameLinkedMap &,ClassDefSet &visitedClasses); + void addFiles(const FileList &,ClassDefSet &visitedClasses); + void addPages(const PageSDict &pages,bool rootOnly,ClassDefSet &visitedClasses); + void addModules(const GroupSDict &modules,ClassDefSet &visitedClasses); + void addModules(const GroupList &modules,ClassDefSet &visitedClasses); + void addClassHierarchy(const ClassSDict &clDict,ClassDefSet &visitedClasses); + void addDerivedClasses(const BaseClassList &bcl,bool hideSuper,ClassDefSet &visitedClasses); private: NestingContext(const NestingNodeContext *parent,int level); |