diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2005-03-15 19:18:42 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2005-03-15 19:18:42 (GMT) |
commit | 2fcc16df64d2af93fc0bb01617f8531116118e8d (patch) | |
tree | 504aa22719248b74962bee0517b645cfabab52d2 /src/memberdef.cpp | |
parent | 5a6400835bc92fb56ef65126785cbe75f092f2d1 (diff) | |
download | Doxygen-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.cpp | 21 |
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, |