diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2007-02-19 18:51:10 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2007-02-19 18:51:10 (GMT) |
commit | eb591296685b8268427173e0a24f74abd987170d (patch) | |
tree | c87efff649bf31ee31966a867e71ba7f159fca43 /src/memberdef.cpp | |
parent | 84dc695cd534be6a58ae71ec7f2bcf3b6b5e9e64 (diff) | |
download | Doxygen-eb591296685b8268427173e0a24f74abd987170d.zip Doxygen-eb591296685b8268427173e0a24f74abd987170d.tar.gz Doxygen-eb591296685b8268427173e0a24f74abd987170d.tar.bz2 |
Release-1.5.1-20070219
Diffstat (limited to 'src/memberdef.cpp')
-rw-r--r-- | src/memberdef.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 55a8fb8..155e10d 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2007 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -771,6 +771,8 @@ bool MemberDef::isLinkableInProject() const static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); static bool extractStatic = Config_getBool("EXTRACT_STATIC"); makeResident(); + + if (isHidden()) return FALSE; //printf("MemberDef::isLinkableInProject(name=%s)\n",name().data()); if (m_impl->templateMaster) { @@ -1792,7 +1794,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, else if (protection()==Package) sl.append("package"); if (lvirt==Virtual) sl.append("virtual"); else if (lvirt==Pure) sl.append("pure virtual"); - if (isSignal()) sl.append("signal"); + if (isSignal()) sl.append("signal"); if (isSlot()) sl.append("slot"); } if (m_impl->classDef && m_impl->classDef!=container) sl.append("inherited"); @@ -2562,14 +2564,22 @@ void MemberDef::setSectionList(Definition *d, MemberList *sl) m_impl->classSectionSDict->append(key,sl); } -Specifier MemberDef::virtualness() const +Specifier MemberDef::virtualness(int count) const { + if (count>25) + { + warn(getDefFileName(),getDefLine(), + "Warning: Internal inconsistency: recursion detected in overload relation for member %s!" + ,name().data() + ); + return Normal; + } makeResident(); Specifier v = m_impl->virt; MemberDef *rmd = reimplements(); while (rmd && v==Normal) { - v = rmd->virtualness()==Normal ? Normal : Virtual; + v = rmd->virtualness(count+1)==Normal ? Normal : Virtual; rmd = rmd->reimplements(); } return v; |