summaryrefslogtreecommitdiffstats
path: root/src/context.h
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-11-15 10:40:25 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-11-15 10:40:25 (GMT)
commit6728e04f215353429aec7b468448fa3eaeaa499d (patch)
treea107b9279edcbc5ce8b455e4d197803e864f0db7 /src/context.h
parentfce7c2f8af2ccd04137c7db163333d0110241835 (diff)
downloadDoxygen-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.h33
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);