summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_symtable.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2011-08-13 09:59:12 (GMT)
committerGeorg Brandl <georg@python.org>2011-08-13 09:59:12 (GMT)
commit96d237c40a97f2db2f347f657669ff08c96a005e (patch)
treee26ea04adcbb73ed1f7b640e2febaf87f787972c /Lib/test/test_symtable.py
parentd88e5af061c4c3206699fe7b86e736c42fdeba1c (diff)
downloadcpython-3.2.2rc1.zip
cpython-3.2.2rc1.tar.gz
cpython-3.2.2rc1.tar.bz2
Update versions in LICENSE files.v3.2.2rc1
Diffstat (limited to 'Lib/test/test_symtable.py')
0 files changed, 0 insertions, 0 deletions
ption> Tcl is a high-level, general-purpose, interpreted, dynamic programming language. It was designed with the goal of being very simple but powerful.
summaryrefslogtreecommitdiffstats
path: root/compat/zlib/win64
virtual QCString trDirDepGraph(const char * name) virtual QCString trEnumReference(const char * name) + virtual QCString trInheritedFrom(const char * members, const char * what) virtual QCString trCiteReferences() + virtual QCString trAdditionalInheritedMembers() virtual QCString trCopyright() virtual QCString trEnumGeneratedFromFiles(bool single) -TranslatorPolish (TranslatorAdapter_1_6_3) 12 methods to implement (5 %) +TranslatorPolish (Translator) ---------------- - Implements 221 of the required methods (94 %). - - Missing methods (should be implemented): - - virtual QCString trDetailLevel() - virtual QCString trTemplateParameters() - virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) - virtual QCString trFileIn(const char * name) - virtual QCString trAndMore(const QCString & number) - virtual QCString trDirDepGraph(const char * name) - virtual QCString trEnumReference(const char * name) - virtual QCString trCiteReferences() - virtual QCString trDirDependency(const char * name) - virtual QCString trCopyright() - virtual QCString trIncludesFileIn(const char * name) - virtual QCString trEnumGeneratedFromFiles(bool single) + Implements 235 of the required methods (100 %). Obsolete methods (should be removed, never used): @@ -766,7 +697,7 @@ TranslatorPolish (TranslatorAdapter_1_6_3) 12 methods to implement (5 %) QCString trNoDescriptionAvailable() -TranslatorPortuguese (TranslatorAdapter_1_8_0) 5 methods to implement (2 %) +TranslatorPortuguese (TranslatorAdapter_1_8_0) 7 methods to implement (2 %) -------------------- Implements 228 of the required methods (97 %). @@ -777,13 +708,15 @@ TranslatorPortuguese (TranslatorAdapter_1_8_0) 5 methods to implement (2 %) virtual QCString trTemplateParameters() virtual QCString trAndMore(const QCString & number) virtual QCString trEnumReference(const char * name) + virtual QCString trInheritedFrom(const char * members, const char * what) + virtual QCString trAdditionalInheritedMembers() virtual QCString trEnumGeneratedFromFiles(bool single) -TranslatorRomanian (TranslatorAdapter_1_6_0) 17 methods to implement (7 %) +TranslatorRomanian (TranslatorAdapter_1_6_0) 19 methods to implement (8 %) ------------------ - Implements 216 of the required methods (92 %). + Implements 216 of the required methods (91 %). Missing methods (should be implemented): @@ -799,17 +732,19 @@ TranslatorRomanian (TranslatorAdapter_1_6_0) 17 methods to implement (7 %) virtual QCString trDirDepGraph(const char * name) virtual QCString trDirRelation(const char * name) virtual QCString trEnumReference(const char * name) + virtual QCString trInheritedFrom(const char * members, const char * what) virtual QCString trCiteReferences() + virtual QCString trAdditionalInheritedMembers() virtual QCString trDirDependency(const char * name) virtual QCString trCopyright() virtual QCString trIncludesFileIn(const char * name) virtual QCString trEnumGeneratedFromFiles(bool single) -TranslatorRussian (TranslatorAdapter_1_7_5) 8 methods to implement (3 %) +TranslatorRussian (TranslatorAdapter_1_7_5) 10 methods to implement (4 %) ----------------- - Implements 225 of the required methods (96 %). + Implements 225 of the required methods (95 %). Missing methods (should be implemented): @@ -818,15 +753,17 @@ TranslatorRussian (TranslatorAdapter_1_7_5) 8 methods to implement (3 %) virtual QCString trAndMore(const QCString & number) virtual QCString trDirDepGraph(const char * name) virtual QCString trEnumReference(const char * name) + virtual QCString trInheritedFrom(const char * members, const char * what) virtual QCString trCiteReferences() + virtual QCString trAdditionalInheritedMembers() virtual QCString trCopyright() virtual QCString trEnumGeneratedFromFiles(bool single) -TranslatorSerbian (TranslatorAdapter_1_6_0) 17 methods to implement (7 %) +TranslatorSerbian (TranslatorAdapter_1_6_0) 19 methods to implement (8 %) ----------------- - Implements 216 of the required methods (92 %). + Implements 216 of the required methods (91 %). Missing methods (should be implemented): @@ -842,17 +779,19 @@ TranslatorSerbian (TranslatorAdapter_1_6_0) 17 methods to implement (7 %) virtual QCString trDirDepGraph(const char * name) virtual QCString trDirRelation(const char * name) virtual QCString trEnumReference(const char * name) + virtual QCString trInheritedFrom(const char * members, const char * what) virtual QCString trCiteReferences() + virtual QCString trAdditionalInheritedMembers() virtual QCString trDirDependency(const char * name) virtual QCString trCopyright() virtual QCString trIncludesFileIn(const char * name) virtual QCString trEnumGeneratedFromFiles(bool single) -TranslatorSerbianCyrilic (TranslatorAdapter_1_6_0) 17 methods to implement (7 %) +TranslatorSerbianCyrilic (TranslatorAdapter_1_6_0) 19 methods to implement (8 %) ------------------------ - Implements 216 of the required methods (92 %). + Implements 216 of the required methods (91 %). Missing methods (should be implemented): @@ -868,31 +807,19 @@ TranslatorSerbianCyrilic (TranslatorAdapter_1_6_0) 17 methods to implement (7 virtual QCString trDirDepGraph(const char * name) virtual QCString trDirRelation(const char * name) virtual QCString trEnumReference(const char * name) + virtual QCString trInheritedFrom(const char * members, const char * what) virtual QCString trCiteReferences() + virtual QCString trAdditionalInheritedMembers() virtual QCString trDirDependency(const char * name) virtual QCString trCopyright() virtual QCString trIncludesFileIn(const char * name) virtual QCString trEnumGeneratedFromFiles(bool single) -TranslatorSlovak (TranslatorAdapter_1_8_0) 5 methods to implement (2 %) ----------------- - - Implements 228 of the required methods (97 %). - - Missing methods (should be implemented): - - virtual QCString trDetailLevel() - virtual QCString trTemplateParameters() - virtual QCString trAndMore(const QCString & number) - virtual QCString trEnumReference(const char * name) - virtual QCString trEnumGeneratedFromFiles(bool single) - - -TranslatorSlovene (TranslatorAdapter_1_4_6) 41 methods to implement (17 %) +TranslatorSlovene (TranslatorAdapter_1_4_6) 43 methods to implement (18 %) ----------------- - Implements 192 of the required methods (82 %). + Implements 192 of the required methods (81 %). Missing methods (should be implemented): @@ -923,7 +850,9 @@ TranslatorSlovene (TranslatorAdapter_1_4_6) 41 methods to implement (17 %) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() virtual QCString trEnumReference(const char * name) + virtual QCString trInheritedFrom(const char * members, const char * what) virtual QCString trCiteReferences() + virtual QCString trAdditionalInheritedMembers() virtual QCString trDirDependency(const char * name) virtual QCString trCopyright() virtual QCString trIncludesFileIn(const char * name) @@ -939,27 +868,16 @@ TranslatorSlovene (TranslatorAdapter_1_4_6) 41 methods to implement (17 %) virtual QCString trSubprogramDocumentation() -TranslatorSpanish (TranslatorAdapter_1_7_5) 8 methods to implement (3 %) +TranslatorSpanish (Translator) ----------------- - Implements 225 of the required methods (96 %). - - Missing methods (should be implemented): - - virtual QCString trDetailLevel() - virtual QCString trTemplateParameters() - virtual QCString trAndMore(const QCString & number) - virtual QCString trDirDepGraph(const char * name) - virtual QCString trEnumReference(const char * name) - virtual QCString trCiteReferences() - virtual QCString trCopyright() - virtual QCString trEnumGeneratedFromFiles(bool single) + Implements 235 of the required methods (100 %). -TranslatorSwedish (TranslatorAdapter_1_6_0) 17 methods to implement (7 %) +TranslatorSwedish (TranslatorAdapter_1_6_0) 19 methods to implement (8 %) ----------------- - Implements 216 of the required methods (92 %). + Implements 216 of the required methods (91 %). Missing methods (should be implemented): @@ -975,17 +893,19 @@ TranslatorSwedish (TranslatorAdapter_1_6_0) 17 methods to implement (7 %) virtual QCString trDirDepGraph(const char * name) virtual QCString trDirRelation(const char * name) virtual QCString trEnumReference(const char * name) + virtual QCString trInheritedFrom(const char * members, const char * what) virtual QCString trCiteReferences() + virtual QCString trAdditionalInheritedMembers() virtual QCString trDirDependency(const char * name) virtual QCString trCopyright() virtual QCString trIncludesFileIn(const char * name) virtual QCString trEnumGeneratedFromFiles(bool single) -TranslatorTurkish (TranslatorAdapter_1_7_5) 8 methods to implement (3 %) +TranslatorTurkish (TranslatorAdapter_1_7_5) 10 methods to implement (4 %) ----------------- - Implements 225 of the required methods (96 %). + Implements 225 of the required methods (95 %). Missing methods (should be implemented): @@ -994,15 +914,17 @@ TranslatorTurkish (TranslatorAdapter_1_7_5) 8 methods to implement (3 %) virtual QCString trAndMore(const QCString & number) virtual QCString trDirDepGraph(const char * name) virtual QCString trEnumReference(const char * name) + virtual QCString trInheritedFrom(const char * members, const char * what) virtual QCString trCiteReferences() + virtual QCString trAdditionalInheritedMembers() virtual QCString trCopyright() virtual QCString trEnumGeneratedFromFiles(bool single) -TranslatorUkrainian (TranslatorAdapter_1_4_1) 41 methods to implement (17 %) +TranslatorUkrainian (TranslatorAdapter_1_4_1) 43 methods to implement (18 %) ------------------- - Implements 192 of the required methods (82 %). + Implements 192 of the required methods (81 %). Missing methods (should be implemented): @@ -1034,7 +956,9 @@ TranslatorUkrainian (TranslatorAdapter_1_4_1) 41 methods to implement (17 %) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() virtual QCString trEnumReference(const char * name) + virtual QCString trInheritedFrom(const char * members, const char * what) virtual QCString trCiteReferences() + virtual QCString trAdditionalInheritedMembers() virtual QCString trDirDependency(const char * name) virtual QCString trCopyright() virtual QCString trIncludesFileIn(const char * name) @@ -1061,10 +985,10 @@ TranslatorUkrainian (TranslatorAdapter_1_4_1) 41 methods to implement (17 %) virtual QCString trNoDescriptionAvailable() -TranslatorVietnamese (TranslatorAdapter_1_6_0) 17 methods to implement (7 %) +TranslatorVietnamese (TranslatorAdapter_1_6_0) 19 methods to implement (8 %) -------------------- - Implements 216 of the required methods (92 %). + Implements 216 of the required methods (91 %). Missing methods (should be implemented): @@ -1080,7 +1004,9 @@ TranslatorVietnamese (TranslatorAdapter_1_6_0) 17 methods to implement (7 %) virtual QCString trDirDepGraph(const char * name) virtual QCString trDirRelation(const char * name) virtual QCString trEnumReference(const char * name) + virtual QCString trInheritedFrom(const char * members, const char * what) virtual QCString trCiteReferences() + virtual QCString trAdditionalInheritedMembers() virtual QCString trDirDependency(const char * name) virtual QCString trCopyright() virtual QCString trIncludesFileIn(const char * name) diff --git a/qtools/Doxyfile b/qtools/Doxyfile index 6774882..13f4d0e 100644 --- a/qtools/Doxyfile +++ b/qtools/Doxyfile @@ -260,7 +260,7 @@ PERL_PATH = /usr/bin/perl CLASS_DIAGRAMS = YES MSCGEN_PATH = HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = NO +HAVE_DOT = YES DOT_NUM_THREADS = 0 DOT_FONTNAME = DOT_FONTSIZE = 10 diff --git a/qtools/qlist.doc b/qtools/qlist.doc index 98decd1..6b4278c 100644 --- a/qtools/qlist.doc +++ b/qtools/qlist.doc @@ -927,14 +927,12 @@ QStrList documentation *****************************************************************************/ -typedef QList QStrList +//typedef QList QStrList /*! \class QStrList qstrlist.h \brief The QStrList class provides a doubly linked list of \c char*. - \inherit QList - \ingroup collection \ingroup tools @@ -1039,8 +1037,6 @@ case insensitive compare. \class QStrListIterator qstrlist.h \brief The QStrListIterator class is an iterator for the QStrList and QStrIList classes. - \inherit QListIterator - \ingroup tools This class is a QListIterator\ instance. diff --git a/src/classdef.cpp b/src/classdef.cpp index 499d1e6..ad33bd7 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -961,7 +961,7 @@ void ClassDef::writeDetailedDocumentationBody(OutputList &ol) } // write the detailed description for this class -void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &pageType, bool exampleFlag, +void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &/*pageType*/, bool exampleFlag, const QCString &title,const QCString &anchor) { if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) || @@ -994,7 +994,7 @@ void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &pageType } else { - writeTemplateSpec(ol,this,pageType); + //writeTemplateSpec(ol,this,pageType); } } @@ -1419,6 +1419,14 @@ void ClassDef::startMemberDeclarations(OutputList &ol) void ClassDef::endMemberDeclarations(OutputList &ol) { //printf("%s: ClassDef::endMemberDeclarations()\n",name().data()); + static bool inlineInheritedMembers = Config_getBool("INLINE_INHERITED_MEMB"); + if (!inlineInheritedMembers && countAdditionalInheritedMembers()>0) + { + ol.startMemberHeader("inherited"); + ol.parseText(theTranslator->trAdditionalInheritedMembers()); + ol.endMemberHeader(); + writeAdditionalInheritedMembers(ol); + } ol.endMemberSections(); } @@ -1533,6 +1541,7 @@ void ClassDef::writeInlineDocumentation(OutputList &ol) ol.parseText(s); ol.endMemberDocName(); ol.endMemberDoc(FALSE); + ol.writeString(""); ol.startIndent(); } ol.popGeneratorState(); @@ -2373,7 +2382,8 @@ bool ClassDef::hasNonReferenceSuperClass() /*! called from MemberDef::writeDeclaration() to (recusively) write the * definition of an anonymous struct, union or class. */ -void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup) +void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup, + const char *inheritId) { //ol.insertMemberAlign(); //printf("ClassName=`%s' inGroup=%d\n",name().data(),inGroup); @@ -2413,47 +2423,21 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup) for (;(mg=mgli.current());++mgli) { mg->setInGroup(inGroup); - mg->writePlainDeclarations(ol,this,0,0,0); + mg->writePlainDeclarations(ol,this,0,0,0,inheritId); + } + } + + QListIterator eli( + LayoutDocManager::instance().docEntries(LayoutDocManager::Class)); + LayoutDocEntry *lde; + for (eli.toFirst();(lde=eli.current());++eli) + { + if (lde->kind()==LayoutDocEntry::MemberDecl) + { + LayoutDocEntryMemberDecl *lmd = (LayoutDocEntryMemberDecl*)lde; + writePlainMemberDeclaration(ol,lmd->type,inGroup,inheritId); } } - static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); - static bool extractPackage = Config_getBool("EXTRACT_PACKAGE"); - - writePlainMemberDeclaration(ol,MemberList::pubTypes,inGroup); - writePlainMemberDeclaration(ol,MemberList::pubMethods,inGroup); - writePlainMemberDeclaration(ol,MemberList::pubAttribs,inGroup); - writePlainMemberDeclaration(ol,MemberList::pubSlots,inGroup); - writePlainMemberDeclaration(ol,MemberList::signals,inGroup); - writePlainMemberDeclaration(ol,MemberList::dcopMethods,inGroup); - writePlainMemberDeclaration(ol,MemberList::properties,inGroup); - writePlainMemberDeclaration(ol,MemberList::events,inGroup); - writePlainMemberDeclaration(ol,MemberList::pubStaticMethods,inGroup); - writePlainMemberDeclaration(ol,MemberList::pubStaticAttribs,inGroup); - writePlainMemberDeclaration(ol,MemberList::proTypes,inGroup); - writePlainMemberDeclaration(ol,MemberList::proMethods,inGroup); - writePlainMemberDeclaration(ol,MemberList::proAttribs,inGroup); - writePlainMemberDeclaration(ol,MemberList::proSlots,inGroup); - writePlainMemberDeclaration(ol,MemberList::proStaticMethods,inGroup); - writePlainMemberDeclaration(ol,MemberList::proStaticAttribs,inGroup); - if (extractPackage) - { - writePlainMemberDeclaration(ol,MemberList::pacTypes,inGroup); - writePlainMemberDeclaration(ol,MemberList::pacMethods,inGroup); - writePlainMemberDeclaration(ol,MemberList::pacAttribs,inGroup); - writePlainMemberDeclaration(ol,MemberList::pacStaticMethods,inGroup); - writePlainMemberDeclaration(ol,MemberList::pacStaticAttribs,inGroup); - } - if (extractPrivate) - { - writePlainMemberDeclaration(ol,MemberList::priTypes,inGroup); - writePlainMemberDeclaration(ol,MemberList::priMethods,inGroup); - writePlainMemberDeclaration(ol,MemberList::priAttribs,inGroup); - writePlainMemberDeclaration(ol,MemberList::priSlots,inGroup); - writePlainMemberDeclaration(ol,MemberList::priStaticMethods,inGroup); - writePlainMemberDeclaration(ol,MemberList::priStaticAttribs,inGroup); - } - writePlainMemberDeclaration(ol,MemberList::friends,inGroup); - writePlainMemberDeclaration(ol,MemberList::related,inGroup); } /*! a link to this class is possible within this project */ @@ -3682,21 +3666,349 @@ void ClassDef::sortMemberLists() } } +static void convertProtectionLevel( + MemberList::ListType inListType, + Protection inProt, + int *outListType1, + int *outListType2 + ) +{ + // default representing Public inheritance + *outListType1=inListType; + *outListType2=-1; + if (inProt==Public) + { + switch (inListType) // in the private section of the derived class, + // the private section of the base class should not + // be visible + { + case MemberList::priMethods: + case MemberList::priStaticMethods: + case MemberList::priSlots: + case MemberList::priAttribs: + case MemberList::priStaticAttribs: + case MemberList::priTypes: + *outListType1=-1; + *outListType2=-1; + break; + default: + break; + } + } + else if (inProt==Protected) // Protected inheritance + { + switch (inListType) // in the protected section of the derived class, + // both the public and protected members are shown + // as protected + { + case MemberList::pubMethods: + case MemberList::pubStaticMethods: + case MemberList::pubSlots: + case MemberList::pubAttribs: + case MemberList::pubStaticAttribs: + case MemberList::pubTypes: + case MemberList::priMethods: + case MemberList::priStaticMethods: + case MemberList::priSlots: + case MemberList::priAttribs: + case MemberList::priStaticAttribs: + case MemberList::priTypes: + *outListType1=-1; + *outListType2=-1; + break; + + case MemberList::proMethods: + *outListType1=MemberList::pubMethods; + *outListType2=MemberList::proMethods; + break; + case MemberList::proStaticMethods: + *outListType1=MemberList::pubStaticMethods; + *outListType2=MemberList::proStaticMethods; + break; + case MemberList::proSlots: + *outListType1=MemberList::pubSlots; + *outListType1=MemberList::proSlots; + break; + case MemberList::proAttribs: + *outListType1=MemberList::pubAttribs; + *outListType2=MemberList::proAttribs; + break; + case MemberList::proStaticAttribs: + *outListType1=MemberList::pubStaticAttribs; + *outListType2=MemberList::proStaticAttribs; + break; + case MemberList::proTypes: + *outListType1=MemberList::pubTypes; + *outListType2=MemberList::proTypes; + break; + default: + break; + } + } + else if (inProt==Private) + { + switch (inListType) // in the private section of the derived class, + // both the public and protected members are shown + // as private + { + case MemberList::pubMethods: + case MemberList::pubStaticMethods: + case MemberList::pubSlots: + case MemberList::pubAttribs: + case MemberList::pubStaticAttribs: + case MemberList::pubTypes: + case MemberList::proMethods: + case MemberList::proStaticMethods: + case MemberList::proSlots: + case MemberList::proAttribs: + case MemberList::proStaticAttribs: + case MemberList::proTypes: + *outListType1=-1; + *outListType2=-1; + break; + + case MemberList::priMethods: + *outListType1=MemberList::pubMethods; + *outListType2=MemberList::proMethods; + break; + case MemberList::priStaticMethods: + *outListType1=MemberList::pubStaticMethods; + *outListType2=MemberList::proStaticMethods; + break; + case MemberList::priSlots: + *outListType1=MemberList::pubSlots; + *outListType1=MemberList::proSlots; + break; + case MemberList::priAttribs: + *outListType1=MemberList::pubAttribs; + *outListType2=MemberList::proAttribs; + break; + case MemberList::priStaticAttribs: + *outListType1=MemberList::pubStaticAttribs; + *outListType2=MemberList::proStaticAttribs; + break; + case MemberList::priTypes: + *outListType1=MemberList::pubTypes; + *outListType2=MemberList::proTypes; + break; + default: + break; + } + } +} + +int ClassDef::countInheritedDecMembersRec(MemberList::ListType lt) +{ + int count=0; + if (m_impl->inherits) + { + BaseClassDef *ibcd=m_impl->inherits->first(); + while (ibcd) + { + ClassDef *icd=ibcd->classDef; + int lt1,lt2; + convertProtectionLevel(lt,ibcd->prot,<1,<2); + MemberList *ml = icd->getMemberList((MemberList::ListType)lt1); + if (ml) + { + ml->countDecMembers(); + count+=ml->numDecMembers(); + count+=icd->countInheritedDecMembersRec((MemberList::ListType)lt1); + } + if (lt2!=-1) + { + ml = icd->getMemberList((MemberList::ListType)lt2); + if (ml) + { + ml->countDecMembers(); + count+=ml->numDecMembers(); + count+=icd->countInheritedDecMembersRec((MemberList::ListType)lt2); + } + } + ibcd=m_impl->inherits->next(); + } + } + if (m_impl->memberGroupSDict) + { + MemberGroupSDict::Iterator mgli(*m_impl->memberGroupSDict); + MemberGroup *mg; + for (;(mg=mgli.current());++mgli) + { + if (!mg->allMembersInSameSection() || !m_impl->subGrouping) // group is in its own section + { + count+=mg->countGroupedInheritedMembers(lt); + } + } + } + return count; +} + +int ClassDef::countInheritedDecMembers(MemberList::ListType lt) +{ + int count=0; + MemberList *ml = getMemberList(lt); + if (ml) + { + ml->countDecMembers(); + count = ml->numDecMembers(); + } + if (count==0) // for this class the member list is empty + { + count = countInheritedDecMembersRec(lt); + } + else // member list is not empty, so we will add the inherited members there + { + count=0; + } + return count; +} + +int ClassDef::countAdditionalInheritedMembers() +{ + int totalCount=0; + QListIterator eli( + LayoutDocManager::instance().docEntries(LayoutDocManager::Class)); + LayoutDocEntry *lde; + for (eli.toFirst();(lde=eli.current());++eli) + { + if (lde->kind()==LayoutDocEntry::MemberDecl) + { + LayoutDocEntryMemberDecl *lmd = (LayoutDocEntryMemberDecl*)lde; + totalCount+=countInheritedDecMembers(lmd->type); + } + } + //printf("countAdditonalInheritedMembers()=%d\n",totalCount); + return totalCount; +} + +void ClassDef::writeAdditionalInheritedMembers(OutputList &ol) +{ + //printf("writeAdditionalInheritedMembers()\n"); + QListIterator eli( + LayoutDocManager::instance().docEntries(LayoutDocManager::Class)); + LayoutDocEntry *lde; + for (eli.toFirst();(lde=eli.current());++eli) + { + if (lde->kind()==LayoutDocEntry::MemberDecl) + { + LayoutDocEntryMemberDecl *lmd = (LayoutDocEntryMemberDecl*)lde; + MemberList *ml = getMemberList(lmd->type); + if (ml==0 || ml->numDecMembers()==0) + { + QPtrDict visited(17); + writeInheritedMemberDeclarations(ol,lmd->type,lmd->title,this,TRUE,&visited); + } + } + } +} + +int ClassDef::countMembersIncludingGrouped(MemberList::ListType lt) +{ + int count=0; + MemberList *ml = getMemberList(lt); + if (ml) + { + ml->countDecMembers(); + count=ml->numDecMembers(); + } + if (m_impl->memberGroupSDict) + { + MemberGroupSDict::Iterator mgli(*m_impl->memberGroupSDict); + MemberGroup *mg; + for (;(mg=mgli.current());++mgli) + { + if (!mg->allMembersInSameSection() || !m_impl->subGrouping) // group is in its own section + { + count+=mg->countGroupedInheritedMembers(lt); + } + } + } + return count; +} + +void ClassDef::writeInheritedMemberDeclarations(OutputList &ol, + MemberList::ListType lt,const QCString &title, + ClassDef *inheritedFrom,bool invert, + QPtrDict *visitedClasses) +{ + ol.pushGeneratorState(); + ol.disableAllBut(OutputGenerator::Html); + bool process = countMembersIncludingGrouped(lt)>0; + if (process^invert) + { + if (m_impl->inherits) + { + BaseClassDef *ibcd=m_impl->inherits->first(); + while (ibcd) + { + ClassDef *icd=ibcd->classDef; + int lt1,lt2; + convertProtectionLevel(lt,ibcd->prot,<1,<2); + //printf("%s:convert %d->(%d,%d)\n",icd->name().data(),lt,lt1,lt2); + if (visitedClasses->find(icd)!=0) return; + visitedClasses->insert(icd,icd); + if (lt1!=-1) + { + icd->writeMemberDeclarations(ol,(MemberList::ListType)lt1,title,QCString(),FALSE,inheritedFrom,lt2,visitedClasses); + } + ibcd=m_impl->inherits->next(); + } + } + } + ol.popGeneratorState(); +} + void ClassDef::writeMemberDeclarations(OutputList &ol,MemberList::ListType lt,const QCString &title, - const char *subTitle,bool showInline) + const char *subTitle,bool showInline,ClassDef *inheritedFrom,int lt2,QPtrDict *visitedClasses) { - //printf("%s: ClassDef::writeMemberDeclarations\n",name().data()); + //printf("%s::writeMemberDeclarations(%s)\n",name().data(),title.data()); //static bool optimizeVhdl = Config_getBool("OPTIMIZE_OUTPUT_VHDL"); MemberList * ml = getMemberList(lt); if (ml) { + //printf("%s: ClassDef::writeMemberDeclarations for %s\n",name().data(),ml->listTypeAsString().data()); if (getLanguage()==SrcLangExt_VHDL) // use specific declarations function { VhdlDocGen::writeVhdlDeclarations(ml,ol,0,this,0,0); } else // use generic declaration function { - ml->writeDeclarations(ol,this,0,0,0,title,subTitle,FALSE,showInline); + ml->writeDeclarations(ol,this,0,0,0,title,subTitle,FALSE,showInline,inheritedFrom); + if (lt2!=-1) + { + MemberList * ml2 = getMemberList((MemberList::ListType)lt2); + if (ml2) + { + ml2->writeDeclarations(ol,this,0,0,0,0,0,FALSE,showInline,inheritedFrom); + } + } + + static bool inlineInheritedMembers = Config_getBool("INLINE_INHERITED_MEMB"); + if (!inlineInheritedMembers) // show inherited members as separate lists + { + QPtrDict visited(17); + writeInheritedMemberDeclarations(ol,lt,title, + inheritedFrom ? inheritedFrom : this, + FALSE,visitedClasses==0 ? &visited: visitedClasses); + } + } + } +} + +void ClassDef::addGroupedInheritedMembers(OutputList &ol,MemberList::ListType lt,const QCString &inheritId) +{ + //printf("** %s::addGroupedInheritedMembers(%p) inheritId=%s\n",name().data(),m_impl->memberGroupSDict,inheritId.data()); + if (m_impl->memberGroupSDict) + { + MemberGroupSDict::Iterator mgli(*m_impl->memberGroupSDict); + MemberGroup *mg; + for (;(mg=mgli.current());++mgli) + { + //printf(" candidate %s\n",mg->header().data()); + if (!mg->allMembersInSameSection() || !m_impl->subGrouping) // group is in its own section + { + mg->addGroupedInheritedMembers(ol,this,lt,inheritId); + } } } } @@ -3715,14 +4027,15 @@ void ClassDef::writeSimpleMemberDocumentation(OutputList &ol,MemberList::ListTyp if (ml) ml->writeSimpleDocumentation(ol,this); } -void ClassDef::writePlainMemberDeclaration(OutputList &ol,MemberList::ListType lt,bool inGroup) +void ClassDef::writePlainMemberDeclaration(OutputList &ol, + MemberList::ListType lt,bool inGroup,const char *inheritId) { //printf("%s: ClassDef::writePlainMemberDeclaration()\n",name().data()); MemberList * ml = getMemberList(lt); if (ml) { ml->setInGroup(inGroup); - ml->writePlainDeclarations(ol,this,0,0,0); + ml->writePlainDeclarations(ol,this,0,0,0,inheritId); } } diff --git a/src/classdef.h b/src/classdef.h index 205b437..f73b08c 100644 --- a/src/classdef.h +++ b/src/classdef.h @@ -21,6 +21,7 @@ #include "qtbc.h" #include #include +#include #include #include "util.h" @@ -330,7 +331,7 @@ class ClassDef : public Definition void writeDocumentationForInnerClasses(OutputList &ol); void writeMemberPages(OutputList &ol); void writeMemberList(OutputList &ol); - void writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup); + void writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup,const char *inheritId); void writeQuickMemberLinks(OutputList &ol,MemberDef *md) const; void writeSummaryLinks(OutputList &ol); void reclassifyMember(MemberDef *md,MemberDef::MemberType t); @@ -338,6 +339,8 @@ class ClassDef : public Definition void writeDeclarationLink(OutputList &ol,bool &found, const char *header,bool localNames); void removeMemberFromLists(MemberDef *md); + void addGroupedInheritedMembers(OutputList &ol,MemberList::ListType lt, + const QCString &inheritId); bool visited; @@ -354,11 +357,12 @@ class ClassDef : public Definition QCString getMemberListFileName() const; void addMemberToList(MemberList::ListType lt,MemberDef *md,bool isBrief); MemberList *createMemberList(MemberList::ListType lt); + void writeInheritedMemberDeclarations(OutputList &ol,MemberList::ListType lt,const QCString &title,ClassDef *inheritedFrom,bool invert,QPtrDict *visitedClasses); void writeMemberDeclarations(OutputList &ol,MemberList::ListType lt,const QCString &title, - const char *subTitle=0,bool showInline=FALSE); + const char *subTitle=0,bool showInline=FALSE,ClassDef *inheritedFrom=0,int lt2=-1,QPtrDict *visitedClasses=0); void writeMemberDocumentation(OutputList &ol,MemberList::ListType lt,const QCString &title,bool showInline=FALSE); void writeSimpleMemberDocumentation(OutputList &ol,MemberList::ListType lt); - void writePlainMemberDeclaration(OutputList &ol,MemberList::ListType lt,bool inGroup); + void writePlainMemberDeclaration(OutputList &ol,MemberList::ListType lt,bool inGroup,const char *inheritId); void writeBriefDescription(OutputList &ol,bool exampleFlag); void writeDetailedDescription(OutputList &ol,const QCString &pageType,bool exampleFlag, const QCString &title,const QCString &anchor=QCString()); @@ -377,6 +381,12 @@ class ClassDef : public Definition void writeMoreLink(OutputList &ol,const QCString &anchor); void writeDetailedDocumentationBody(OutputList &ol); + int countInheritedDecMembersRec(MemberList::ListType lt); + int countInheritedDecMembers(MemberList::ListType lt); + int countAdditionalInheritedMembers(); + void writeAdditionalInheritedMembers(OutputList &ol); + int countMembersIncludingGrouped(MemberList::ListType lt); + ClassDefImpl *m_impl; }; diff --git a/src/cmdmapper.cpp b/src/cmdmapper.cpp index 5d52557..c4379e3 100644 --- a/src/cmdmapper.cpp +++ b/src/cmdmapper.cpp @@ -75,6 +75,7 @@ CommandMap cmdMap[] = { "return", CMD_RETURN }, { "returns", CMD_RETURN }, { "retval", CMD_RETVAL }, + { "rtfonly", CMD_RTFONLY }, { "sa", CMD_SA }, { "secreflist", CMD_SECREFLIST }, { "section", CMD_SECTION }, @@ -117,6 +118,8 @@ CommandMap cmdMap[] = { "includelineno", CMD_INCWITHLINES }, { "inheritdoc", CMD_INHERITDOC }, { "mscfile", CMD_MSCFILE }, + { "rtfonly", CMD_RTFONLY }, + { "endrtfonly", CMD_ENDRTFONLY }, { 0, 0 }, }; diff --git a/src/cmdmapper.h b/src/cmdmapper.h index 04bb3ed..deb5f50 100644 --- a/src/cmdmapper.h +++ b/src/cmdmapper.h @@ -118,7 +118,9 @@ enum CommandType CMD_DCOLON = 84, CMD_COPYRIGHT = 85 | SIMPLESECT_BIT, CMD_CITE = 86, - CMD_SNIPPET = 87 + CMD_SNIPPET = 87, + CMD_RTFONLY = 88, + CMD_ENDRTFONLY = 89 }; enum HtmlTagType diff --git a/src/code.l b/src/code.l index dff0218..33c50c5 100644 --- a/src/code.l +++ b/src/code.l @@ -2378,6 +2378,13 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} codifyLines(yytext); endFontClass(); } +"*"{B}*")" { // end of cast? + g_code->codify(yytext); + g_theCallContext.popScope(); + g_bracketCount--; + g_parmType = g_name; + BEGIN(FuncCall); + } [\\|\)\+\-\/\%\~\!] { g_code->codify(yytext); g_name.resize(0);g_type.resize(0); @@ -2870,8 +2877,17 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} } g_code->codify(yytext); } -")" { - g_theVarContext.addVariable(g_parmType,g_parmName); +("*"{B}*)?")" { + if (yytext[0]==')') // no a pointer cast + { + //printf("addVariable(%s,%s)\n",g_parmType.data(),g_parmName.data()); + g_theVarContext.addVariable(g_parmType,g_parmName); + } + else + { + g_parmType.resize(0); + g_parmName.resize(0); + } g_theCallContext.popScope(); g_inForEachExpression = FALSE; //g_theCallContext.setClass(0); // commented out, otherwise a()->b() does not work for b(). diff --git a/src/compound.xsd b/src/compound.xsd index 1149266..406f6f5 100644 --- a/src/compound.xsd +++ b/src/compound.xsd @@ -365,6 +365,9 @@ + + + diff --git a/src/compound_xsd.h b/src/compound_xsd.h index 6531857..5e04417 100644 --- a/src/compound_xsd.h +++ b/src/compound_xsd.h @@ -365,6 +365,9 @@ " \n" " \n" " \n" +" \n" +" \n" +" \n" " \n" " \n" " \n" diff --git a/src/config.xml b/src/config.xml index e3ea5bf..e42a3ae 100644 --- a/src/config.xml +++ b/src/config.xml @@ -888,11 +888,6 @@ If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML page will contain the date and time when the page was generated. Setting this to NO can help when comparing the output of multiple runs. ' defval='1' depends='GENERATE_HTML'/> -
ModeNameSize
-rw-r--r--libz.dll.a13480logstatsplain