summaryrefslogtreecommitdiffstats
path: root/src/memberdef.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2008-07-27 14:59:10 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2008-07-27 14:59:10 (GMT)
commit6bf92c5d7efffb6a04c3ccbfc144ad944200fed2 (patch)
tree201e94696e0c1cb55ffa8fd45c97dfa1ac586f0f /src/memberdef.cpp
parent956cf8647cb54a930d1d9c65fb01cc4d9498f2bd (diff)
downloadDoxygen-6bf92c5d7efffb6a04c3ccbfc144ad944200fed2.zip
Doxygen-6bf92c5d7efffb6a04c3ccbfc144ad944200fed2.tar.gz
Doxygen-6bf92c5d7efffb6a04c3ccbfc144ad944200fed2.tar.bz2
Release-1.5.6-20080727
Diffstat (limited to 'src/memberdef.cpp')
-rw-r--r--src/memberdef.cpp36
1 files changed, 25 insertions, 11 deletions
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 824d8e9..a57238b 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -306,8 +306,9 @@ class MemberDefImpl
MemberDefImpl();
~MemberDefImpl();
void init(Definition *def,const char *t,const char *a,const char *e,
- Protection p,Specifier v,bool s,bool r,MemberDef::MemberType mt,
- const ArgumentList *tal,const ArgumentList *al
+ Protection p,Specifier v,bool s,Relationship r,
+ MemberDef::MemberType mt,const ArgumentList *tal,
+ const ArgumentList *al
);
ClassDef *classDef; // member of or related to
@@ -395,7 +396,7 @@ class MemberDefImpl
bool hasDocumentedParams;
bool hasDocumentedReturnType;
bool isDMember;
- bool related; // is this a member that is only related to a class
+ Relationship related; // relationship of this to the class
bool stat; // is it a static function?
bool proto; // is it a prototype;
bool docEnumValues; // is an enum with documented enum values.
@@ -439,8 +440,9 @@ MemberDefImpl::~MemberDefImpl()
void MemberDefImpl::init(Definition *def,
const char *t,const char *a,const char *e,
- Protection p,Specifier v,bool s,bool r,MemberDef::MemberType mt,
- const ArgumentList *tal,const ArgumentList *al
+ Protection p,Specifier v,bool s,Relationship r,
+ MemberDef::MemberType mt,const ArgumentList *tal,
+ const ArgumentList *al
)
{
classDef=0;
@@ -572,7 +574,7 @@ void MemberDefImpl::init(Definition *def,
* \param v The degree of `virtualness' of the member, possible values are:
* \c Normal, \c Virtual, \c Pure.
* \param s A boolean that is true iff the member is static.
- * \param r A boolean that is true iff the member is only related.
+ * \param r The relationship between the class and the member.
* \param mt The kind of member. See #MemberDef::MemberType for a list of
* all types.
* \param tal The template arguments of this member.
@@ -582,7 +584,7 @@ void MemberDefImpl::init(Definition *def,
MemberDef::MemberDef(const char *df,int dl,
const char *t,const char *na,const char *a,const char *e,
- Protection p,Specifier v,bool s,bool r,MemberType mt,
+ Protection p,Specifier v,bool s,Relationship r,MemberType mt,
const ArgumentList *tal,const ArgumentList *al
) : Definition(df,dl,removeRedundantWhiteSpace(na))
{
@@ -3201,7 +3203,13 @@ bool MemberDef::isEvent() const
bool MemberDef::isRelated() const
{
makeResident();
- return m_impl->related;
+ return m_impl->related == Related;
+}
+
+bool MemberDef::isForeign() const
+{
+ makeResident();
+ return m_impl->related == Foreign;
}
bool MemberDef::isStatic() const
@@ -3638,7 +3646,13 @@ void MemberDef::setTemplateSpecialization(bool b)
void MemberDef::makeRelated()
{
makeResident();
- m_impl->related=TRUE;
+ m_impl->related = Related;
+}
+
+void MemberDef::makeForeign()
+{
+ makeResident();
+ m_impl->related = Foreign;
}
void MemberDef::setHasDocumentedParams(bool b)
@@ -3838,7 +3852,7 @@ void MemberDef::flushToDisk() const
marshalBool (Doxygen::symbolStorage,m_impl->hasDocumentedParams);
marshalBool (Doxygen::symbolStorage,m_impl->hasDocumentedReturnType);
marshalBool (Doxygen::symbolStorage,m_impl->isDMember);
- marshalBool (Doxygen::symbolStorage,m_impl->related);
+ marshalInt (Doxygen::symbolStorage,(int)m_impl->related);
marshalBool (Doxygen::symbolStorage,m_impl->stat);
marshalBool (Doxygen::symbolStorage,m_impl->proto);
marshalBool (Doxygen::symbolStorage,m_impl->docEnumValues);
@@ -3938,7 +3952,7 @@ void MemberDef::loadFromDisk() const
m_impl->hasDocumentedParams = unmarshalBool (Doxygen::symbolStorage);
m_impl->hasDocumentedReturnType = unmarshalBool (Doxygen::symbolStorage);
m_impl->isDMember = unmarshalBool (Doxygen::symbolStorage);
- m_impl->related = unmarshalBool (Doxygen::symbolStorage);
+ m_impl->related = (Relationship)unmarshalInt(Doxygen::symbolStorage);
m_impl->stat = unmarshalBool (Doxygen::symbolStorage);
m_impl->proto = unmarshalBool (Doxygen::symbolStorage);
m_impl->docEnumValues = unmarshalBool (Doxygen::symbolStorage);