diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2001-11-04 19:03:17 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2001-11-04 19:03:17 (GMT) |
commit | a29cfb7d102b893c56c1342fc738b788fc4885cf (patch) | |
tree | 8d5db673565aca95db666b5c91bda3e5d7f51efa /src/classdef.cpp | |
parent | 04e9bbe0f5ee5017392b171f21422f6dd924d52c (diff) | |
download | Doxygen-a29cfb7d102b893c56c1342fc738b788fc4885cf.zip Doxygen-a29cfb7d102b893c56c1342fc738b788fc4885cf.tar.gz Doxygen-a29cfb7d102b893c56c1342fc738b788fc4885cf.tar.bz2 |
Release-1.2.11-20011104
Diffstat (limited to 'src/classdef.cpp')
-rw-r--r-- | src/classdef.cpp | 49 |
1 files changed, 36 insertions, 13 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp index 24ca56f..a9cf53b 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -1267,8 +1267,11 @@ void ClassDef::writeMemberList(OutputList &ol) QCString name=mi->ambiguityResolutionScope+md->name(); //ol.writeListItem(); ol.writeString(" <tr bgcolor=\"#f0f0f0\"><td>"); - ol.writeObjectLink(cd->getReference(),cd->getOutputFileBase(), + Definition *bd = md->getGroupDef(); + if (bd==0) bd=cd; + ol.writeObjectLink(bd->getReference(),bd->getOutputFileBase(), md->anchor(),name); + if ( md->isFunction() || md->isSignal() || md->isSlot() || (md->isFriend() && md->argsString())) ol.docify(md->argsString()); @@ -2238,23 +2241,18 @@ void ClassDef::addMembersToTemplateInstance(ClassDef *cd,const char *templSpec) //imd->setBriefDescription(md->briefDescription()); imd->setMemberSpecifiers(md->getMemberSpecifiers()); insertMember(imd); - //printf("Adding member=%s%s to class %s\n",imd->name().data(),imd->argsString(),imd->getClassDef()->name().data()); + //printf("Adding member=%s %s%s to class %s templSpec %s\n", + // imd->typeString(),imd->name().data(),imd->argsString(), + // imd->getClassDef()->name().data(),templSpec); // insert imd in the list of all members //printf("Adding member=%s class=%s\n",imd->name().data(),name().data()); -#if 0 - MemberName *mn; - if ((mn=Doxygen::memberNameDict[imd->name()])) - { - mn->append(md); - } - else + MemberName *mn = Doxygen::memberNameSDict[imd->name()]; + if (mn==0) { mn = new MemberName(imd->name()); - mn->append(md); - Doxygen::memberNameDict.insert(imd->name(),mn); - Doxygen::memberNameList.append(mn); + Doxygen::memberNameSDict.append(imd->name(),mn); } -#endif + mn->append(imd); } } } @@ -2378,3 +2376,28 @@ void ClassDef::addListReferences() propertyMembers.addListReferences(this); } +MemberDef *ClassDef::getMemberByName(const QCString &name) +{ + MemberDef *xmd = 0; + MemberNameInfo *mni = m_allMemberNameInfoSDict->find(name); + if (mni) + { + const int maxInheritanceDepth = 100000; + int mdist=maxInheritanceDepth; + MemberNameInfoIterator mnii(*mni); + MemberInfo *mi; + for (mnii.toFirst();(mi=mnii.current());++mnii) + { + ClassDef *mcd=mi->memberDef->getClassDef(); + int m=minClassDistance(this,mcd); + if (m<mdist && mcd->isLinkable()) + { + mdist=m; + xmd=mi->memberDef; + } + } + } + return xmd; +} + + |