summaryrefslogtreecommitdiffstats
path: root/src/membername.h
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-04-27 07:21:21 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-04-27 07:21:21 (GMT)
commit6f7443e86a2b6633fafeba5e8baa0941c22c757d (patch)
tree5a4d269570b40e3ab12d0733a44f04175fb79e7f /src/membername.h
parent30f8609975062896b0cd43b739310ab8d667ea82 (diff)
downloadDoxygen-6f7443e86a2b6633fafeba5e8baa0941c22c757d.zip
Doxygen-6f7443e86a2b6633fafeba5e8baa0941c22c757d.tar.gz
Doxygen-6f7443e86a2b6633fafeba5e8baa0941c22c757d.tar.bz2
Refactoring: Improve encapsulation of MemberInfo class
Diffstat (limited to 'src/membername.h')
-rw-r--r--src/membername.h40
1 files changed, 29 insertions, 11 deletions
diff --git a/src/membername.h b/src/membername.h
index 8d0ad7c..aa2ce5f 100644
--- a/src/membername.h
+++ b/src/membername.h
@@ -63,18 +63,36 @@ class MemberNameLinkedMap : public LinkedMap<MemberName>
};
/** Data associated with a MemberDef in an inheritance relation. */
-struct MemberInfo
+class MemberInfo
{
- MemberInfo(MemberDef *md,Protection p,Specifier v,bool inh) :
- memberDef(md), prot(p), virt(v), inherited(inh), ambigClass(0) {}
- ~MemberInfo() {}
- MemberDef *memberDef;
- Protection prot;
- Specifier virt;
- bool inherited;
- QCString scopePath;
- QCString ambiguityResolutionScope;
- ClassDef *ambigClass;
+ public:
+ MemberInfo(MemberDef *md,Protection p,Specifier v,bool inh) :
+ m_memberDef(md), m_prot(p), m_virt(v), m_inherited(inh) {}
+ ~MemberInfo() {}
+
+ // getters
+ MemberDef *memberDef() { return m_memberDef; }
+ const MemberDef *memberDef() const { return m_memberDef; }
+ Protection prot() const { return m_prot; }
+ Specifier virt() const { return m_virt; }
+ bool inherited() const { return m_inherited; }
+ QCString scopePath() const { return m_scopePath; }
+ QCString ambiguityResolutionScope() const { return m_ambiguityResolutionScope; }
+ const ClassDef *ambigClass() const { return m_ambigClass; }
+
+ // setters
+ void setAmbiguityResolutionScope(const QCString &s) { m_ambiguityResolutionScope = s; }
+ void setScopePath(const QCString &s) { m_scopePath = s; }
+ void setAmbigClass(const ClassDef *cd) { m_ambigClass = cd; }
+
+ private:
+ MemberDef *m_memberDef;
+ Protection m_prot;
+ Specifier m_virt;
+ bool m_inherited;
+ QCString m_scopePath;
+ QCString m_ambiguityResolutionScope;
+ const ClassDef *m_ambigClass = 0;
};
/** Class representing all MemberInfo objects with the same name */