summaryrefslogtreecommitdiffstats
path: root/src/memberdef.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2005-03-15 19:18:42 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2005-03-15 19:18:42 (GMT)
commitb91d710ef9e95feffbb1c97d3fc7695157e0731e (patch)
tree504aa22719248b74962bee0517b645cfabab52d2 /src/memberdef.cpp
parent42eb3f9c14016086a2d2b18951585816eaf7bcab (diff)
downloadDoxygen-b91d710ef9e95feffbb1c97d3fc7695157e0731e.zip
Doxygen-b91d710ef9e95feffbb1c97d3fc7695157e0731e.tar.gz
Doxygen-b91d710ef9e95feffbb1c97d3fc7695157e0731e.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,