summaryrefslogtreecommitdiffstats
path: root/src/memberdef.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2005-03-15 19:18:42 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2005-03-15 19:18:42 (GMT)
commit2fcc16df64d2af93fc0bb01617f8531116118e8d (patch)
tree504aa22719248b74962bee0517b645cfabab52d2 /src/memberdef.cpp
parent5a6400835bc92fb56ef65126785cbe75f092f2d1 (diff)
downloadDoxygen-2fcc16df64d2af93fc0bb01617f8531116118e8d.zip
Doxygen-2fcc16df64d2af93fc0bb01617f8531116118e8d.tar.gz
Doxygen-2fcc16df64d2af93fc0bb01617f8531116118e8d.tar.bz2
Release-1.4.1-20050315
Diffstat (limited to 'src/memberdef.cpp')
-rw-r--r--src/memberdef.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index ef01fff..0377bb7 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -428,6 +428,7 @@ MemberDef::MemberDef(const char *df,int dl,
m_hasDocumentedParams = FALSE;
m_hasDocumentedReturnType = FALSE;
m_docProvider = 0;
+ m_isDMember = m_defFileName.right(2).lower()==".d";
}
/*! Destroys the member definition. */
@@ -2141,14 +2142,30 @@ Specifier MemberDef::virtualness() const
bool MemberDef::isConstructor() const
{
if (classDef)
- return name()==classDef->localName();
+ {
+ if (m_isDMember) // for D
+ {
+ return name()=="this";
+ }
+ else // for other languages
+ {
+ return name()==classDef->localName();
+ }
+ }
else
return FALSE;
}
bool MemberDef::isDestructor() const
{
- return name().find('~')!=-1 && name().find("operator")==-1;
+ if (m_isDMember) // for D
+ {
+ return name()=="~this";
+ }
+ else // other languages
+ {
+ return name().find('~')!=-1 && name().find("operator")==-1;
+ }
}
void MemberDef::writeEnumDeclaration(OutputList &typeDecl,