Skip to content

Commit 6c35698

Browse files
committed
[Refactoring] Make MemberTypeList a class instead of enum with bit mask
1 parent 27f94d2 commit 6c35698

24 files changed

+713
-833
lines changed

addon/doxyparse/doxyparse.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -252,10 +252,10 @@ void protectionInformation(Protection protection) {
252252
}
253253

254254
void cModule(const ClassDef* cd) {
255-
const MemberList* ml = cd->getMemberList(MemberListType_variableMembers);
255+
const MemberList* ml = cd->getMemberList(MemberListType::VariableMembers());
256256
if (ml) {
257257
const FileDef *fd = cd->getFileDef();
258-
const MemberList *fd_ml = fd->getMemberList(MemberListType_allMembersList);
258+
const MemberList *fd_ml = fd->getMemberList(MemberListType::AllMembersList());
259259
if (!fd_ml || fd_ml->size() == 0) {
260260
printModule(fd->getOutputFileBase().data());
261261
printDefines();
@@ -340,11 +340,11 @@ void listMembers(const MemberList *ml) {
340340

341341
void listAllMembers(const ClassDef* cd) {
342342
// methods
343-
listMembers(cd->getMemberList(MemberListType_functionMembers));
343+
listMembers(cd->getMemberList(MemberListType::FunctionMembers()));
344344
// constructors
345-
listMembers(cd->getMemberList(MemberListType_constructors));
345+
listMembers(cd->getMemberList(MemberListType::Constructors()));
346346
// attributes
347-
listMembers(cd->getMemberList(MemberListType_variableMembers));
347+
listMembers(cd->getMemberList(MemberListType::VariableMembers()));
348348
}
349349

350350
static void classInformation(const ClassDef* cd) {
@@ -400,7 +400,7 @@ static void listSymbols() {
400400
for (const auto &fn : *Doxygen::inputNameLinkedMap) {
401401
for (const auto &fd : *fn) {
402402
printFile(fd->absFilePath().data());
403-
MemberList *ml = fd->getMemberList(MemberListType_allMembersList);
403+
MemberList *ml = fd->getMemberList(MemberListType::AllMembersList());
404404
if (ml && ml->size() > 0) {
405405
printModule(fd->getOutputFileBase().data());
406406
printDefines();

src/classdef.cpp

Lines changed: 77 additions & 75 deletions
Large diffs are not rendered by default.

src/classdef.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ class ClassDef : public Definition
337337
const ClassDef *inheritedFrom,bool additional) const = 0;
338338
virtual int countInheritanceNodes() const = 0;
339339
virtual int countMemberDeclarations(MemberListType lt,const ClassDef *inheritedFrom,
340-
int lt2,bool invert,bool showAlways,ClassDefSet &visitedClasses) const = 0;
340+
MemberListType lt2,bool invert,bool showAlways,ClassDefSet &visitedClasses) const = 0;
341341

342342
//-----------------------------------------------------------------------------------
343343
// --- helpers ----
@@ -366,7 +366,7 @@ class ClassDef : public Definition
366366
MemberListType lt,const QCString &title,
367367
const QCString &subTitle=QCString(),
368368
bool showInline=FALSE,const ClassDef *inheritedFrom=nullptr,
369-
int lt2=-1,bool invert=FALSE,bool showAlways=FALSE) const = 0;
369+
MemberListType lt2=MemberListType::Invalid(),bool invert=FALSE,bool showAlways=FALSE) const = 0;
370370
virtual void addGroupedInheritedMembers(OutputList &ol,MemberListType lt,
371371
const ClassDef *inheritedFrom,const QCString &inheritId) const = 0;
372372
};

src/defgen.cpp

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -387,38 +387,38 @@ static void generateDEFForClass(const ClassDef *cd,TextStream &t)
387387
size_t numMembers = 0;
388388
for (const auto &ml : cd->getMemberLists())
389389
{
390-
if ((ml->listType()&MemberListType_detailedLists)==0)
390+
if (!ml->listType().isDetailed())
391391
{
392392
numMembers+=ml->size();
393393
}
394394
}
395395
if (numMembers>0)
396396
{
397-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_pubTypes),"public-type");
398-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_interfaces),"interfaces");
399-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_services),"services");
400-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_pubMethods),"public-func");
401-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_pubAttribs),"public-attrib");
402-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_pubSlots),"public-slot");
403-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_signals),"signal");
404-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_dcopMethods),"dcop-func");
405-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_properties),"property");
406-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_pubStaticMethods),"public-static-func");
407-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_pubStaticAttribs),"public-static-attrib");
408-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_proTypes),"protected-type");
409-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_proMethods),"protected-func");
410-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_proAttribs),"protected-attrib");
411-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_proSlots),"protected-slot");
412-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_proStaticMethods),"protected-static-func");
413-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_proStaticAttribs),"protected-static-attrib");
414-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_priTypes),"private-type");
415-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_priMethods),"private-func");
416-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_priAttribs),"private-attrib");
417-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_priSlots),"private-slot");
418-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_priStaticMethods),"private-static-func");
419-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_priStaticAttribs),"private-static-attrib");
420-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_friends),"signal");
421-
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType_related),"related");
397+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::PubTypes()),"public-type");
398+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::Interfaces()),"interfaces");
399+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::Services()),"services");
400+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::PubMethods()),"public-func");
401+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::PubAttribs()),"public-attrib");
402+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::PubSlots()),"public-slot");
403+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::Signals()),"signal");
404+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::DcopMethods()),"dcop-func");
405+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::Properties()),"property");
406+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::PubStaticMethods()),"public-static-func");
407+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::PubStaticAttribs()),"public-static-attrib");
408+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::ProTypes()),"protected-type");
409+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::ProMethods()),"protected-func");
410+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::ProAttribs()),"protected-attrib");
411+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::ProSlots()),"protected-slot");
412+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::ProStaticMethods()),"protected-static-func");
413+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::ProStaticAttribs()),"protected-static-attrib");
414+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::PriTypes()),"private-type");
415+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::PriMethods()),"private-func");
416+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::PriAttribs()),"private-attrib");
417+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::PriSlots()),"private-slot");
418+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::PriStaticMethods()),"private-static-func");
419+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::PriStaticAttribs()),"private-static-attrib");
420+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::Friends()),"signal");
421+
generateDEFClassSection(cd,t,cd->getMemberList(MemberListType::Related()),"related");
422422
}
423423

424424
t << " cp-filename = '" << cd->getDefFileName() << "';\n";
@@ -471,14 +471,14 @@ static void generateDEFForNamespace(const NamespaceDef *nd,TextStream &t)
471471
writeDEFString(t,nd->name());
472472
t << ";\n";
473473

474-
generateDEFSection(nd,t,nd->getMemberList(MemberListType_decDefineMembers),"define");
475-
generateDEFSection(nd,t,nd->getMemberList(MemberListType_decProtoMembers),"prototype");
476-
generateDEFSection(nd,t,nd->getMemberList(MemberListType_decTypedefMembers),"typedef");
477-
generateDEFSection(nd,t,nd->getMemberList(MemberListType_decSequenceMembers),"sequence");
478-
generateDEFSection(nd,t,nd->getMemberList(MemberListType_decDictionaryMembers),"dictionary");
479-
generateDEFSection(nd,t,nd->getMemberList(MemberListType_decEnumMembers),"enum");
480-
generateDEFSection(nd,t,nd->getMemberList(MemberListType_decFuncMembers),"func");
481-
generateDEFSection(nd,t,nd->getMemberList(MemberListType_decVarMembers),"var");
474+
generateDEFSection(nd,t,nd->getMemberList(MemberListType::DecDefineMembers()),"define");
475+
generateDEFSection(nd,t,nd->getMemberList(MemberListType::DecProtoMembers()),"prototype");
476+
generateDEFSection(nd,t,nd->getMemberList(MemberListType::DecTypedefMembers()),"typedef");
477+
generateDEFSection(nd,t,nd->getMemberList(MemberListType::DecSequenceMembers()),"sequence");
478+
generateDEFSection(nd,t,nd->getMemberList(MemberListType::DecDictionaryMembers()),"dictionary");
479+
generateDEFSection(nd,t,nd->getMemberList(MemberListType::DecEnumMembers()),"enum");
480+
generateDEFSection(nd,t,nd->getMemberList(MemberListType::DecFuncMembers()),"func");
481+
generateDEFSection(nd,t,nd->getMemberList(MemberListType::DecVarMembers()),"var");
482482

483483
t << " ns-filename = '" << nd->getDefFileName() << "';\n";
484484
t << " ns-fileline = '" << nd->getDefLine() << "';\n";
@@ -500,14 +500,14 @@ static void generateDEFForFile(const FileDef *fd,TextStream &t)
500500
writeDEFString(t,fd->name());
501501
t << ";\n";
502502

503-
generateDEFSection(fd,t,fd->getMemberList(MemberListType_decDefineMembers),"define");
504-
generateDEFSection(fd,t,fd->getMemberList(MemberListType_decProtoMembers),"prototype");
505-
generateDEFSection(fd,t,fd->getMemberList(MemberListType_decTypedefMembers),"typedef");
506-
generateDEFSection(fd,t,fd->getMemberList(MemberListType_decSequenceMembers),"sequence");
507-
generateDEFSection(fd,t,fd->getMemberList(MemberListType_decDictionaryMembers),"dictionary");
508-
generateDEFSection(fd,t,fd->getMemberList(MemberListType_decEnumMembers),"enum");
509-
generateDEFSection(fd,t,fd->getMemberList(MemberListType_decFuncMembers),"func");
510-
generateDEFSection(fd,t,fd->getMemberList(MemberListType_decVarMembers),"var");
503+
generateDEFSection(fd,t,fd->getMemberList(MemberListType::DecDefineMembers()),"define");
504+
generateDEFSection(fd,t,fd->getMemberList(MemberListType::DecProtoMembers()),"prototype");
505+
generateDEFSection(fd,t,fd->getMemberList(MemberListType::DecTypedefMembers()),"typedef");
506+
generateDEFSection(fd,t,fd->getMemberList(MemberListType::DecSequenceMembers()),"sequence");
507+
generateDEFSection(fd,t,fd->getMemberList(MemberListType::DecDictionaryMembers()),"dictionary");
508+
generateDEFSection(fd,t,fd->getMemberList(MemberListType::DecEnumMembers()),"enum");
509+
generateDEFSection(fd,t,fd->getMemberList(MemberListType::DecFuncMembers()),"func");
510+
generateDEFSection(fd,t,fd->getMemberList(MemberListType::DecVarMembers()),"var");
511511

512512
t << " file-full-name = '" << fd->getDefFileName() << "';\n";
513513
t << " file-first-line = '" << fd->getDefLine() << "';\n";

src/dotgroupcollaboration.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ void DotGroupCollaboration::buildGraph(const GroupDef* gd)
107107
// Write collaboration
108108

109109
// Add members
110-
addMemberList( gd->getMemberList(MemberListType_allMembersList) );
110+
addMemberList( gd->getMemberList(MemberListType::AllMembersList()) );
111111

112112
// Add classes
113113
for (const auto &def : gd->getClasses())

src/dotnode.cpp

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -428,34 +428,34 @@ void DotNode::writeLabel(TextStream &t, GraphType gt) const
428428
{
429429
bool lineWritten = false;
430430
t << sep;
431-
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberListType_pubAttribs),m_classDef,lineWritten,FALSE,&arrowNames);
432-
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberListType_pubStaticAttribs),m_classDef,lineWritten,TRUE,&arrowNames);
433-
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberListType_properties),m_classDef,lineWritten,FALSE,&arrowNames);
434-
writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberListType_pacAttribs),m_classDef,lineWritten,FALSE,&arrowNames);
435-
writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberListType_pacStaticAttribs),m_classDef,lineWritten,TRUE,&arrowNames);
436-
writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberListType_proAttribs),m_classDef,lineWritten,FALSE,&arrowNames);
437-
writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberListType_proStaticAttribs),m_classDef,lineWritten,TRUE,&arrowNames);
431+
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberListType::PubAttribs()),m_classDef,lineWritten,FALSE,&arrowNames);
432+
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberListType::PubStaticAttribs()),m_classDef,lineWritten,TRUE,&arrowNames);
433+
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberListType::Properties()),m_classDef,lineWritten,FALSE,&arrowNames);
434+
writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberListType::PacAttribs()),m_classDef,lineWritten,FALSE,&arrowNames);
435+
writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberListType::PacStaticAttribs()),m_classDef,lineWritten,TRUE,&arrowNames);
436+
writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberListType::ProAttribs()),m_classDef,lineWritten,FALSE,&arrowNames);
437+
writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberListType::ProStaticAttribs()),m_classDef,lineWritten,TRUE,&arrowNames);
438438
if (Config_getBool(EXTRACT_PRIVATE))
439439
{
440-
writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberListType_priAttribs),m_classDef,lineWritten,FALSE,&arrowNames);
441-
writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberListType_priStaticAttribs),m_classDef,lineWritten,TRUE,&arrowNames);
440+
writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberListType::PriAttribs()),m_classDef,lineWritten,FALSE,&arrowNames);
441+
writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberListType::PriStaticAttribs()),m_classDef,lineWritten,TRUE,&arrowNames);
442442
}
443443
if (!lineWritten) t << empty_line;
444444
t << sep;
445445
lineWritten = false;
446-
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberListType_pubMethods),m_classDef,lineWritten);
447-
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberListType_pubStaticMethods),m_classDef,lineWritten,TRUE);
448-
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberListType_pubSlots),m_classDef,lineWritten);
449-
writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberListType_pacMethods),m_classDef,lineWritten);
450-
writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberListType_pacStaticMethods),m_classDef,lineWritten,TRUE);
451-
writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberListType_proMethods),m_classDef,lineWritten);
452-
writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberListType_proStaticMethods),m_classDef,lineWritten,TRUE);
453-
writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberListType_proSlots),m_classDef,lineWritten);
446+
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberListType::PubMethods()),m_classDef,lineWritten);
447+
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberListType::PubStaticMethods()),m_classDef,lineWritten,TRUE);
448+
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberListType::PubSlots()),m_classDef,lineWritten);
449+
writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberListType::PacMethods()),m_classDef,lineWritten);
450+
writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberListType::PacStaticMethods()),m_classDef,lineWritten,TRUE);
451+
writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberListType::ProMethods()),m_classDef,lineWritten);
452+
writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberListType::ProStaticMethods()),m_classDef,lineWritten,TRUE);
453+
writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberListType::ProSlots()),m_classDef,lineWritten);
454454
if (Config_getBool(EXTRACT_PRIVATE))
455455
{
456-
writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberListType_priMethods),m_classDef,lineWritten);
457-
writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberListType_priStaticMethods),m_classDef,lineWritten,TRUE);
458-
writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberListType_priSlots),m_classDef,lineWritten);
456+
writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberListType::PriMethods()),m_classDef,lineWritten);
457+
writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberListType::PriStaticMethods()),m_classDef,lineWritten,TRUE);
458+
writeBoxMemberList(t,'-',m_classDef->getMemberList(MemberListType::PriSlots()),m_classDef,lineWritten);
459459
}
460460
if (m_classDef->getLanguage()!=SrcLangExt::Fortran)
461461
{

src/doxygen.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,7 +1490,7 @@ static ClassDefMutable *createTagLessInstance(const ClassDef *rootCd,const Class
14901490
const_cast<GroupDef*>(gd)->addClass(cd);
14911491
}
14921492

1493-
MemberList *ml = templ->getMemberList(MemberListType_pubAttribs);
1493+
MemberList *ml = templ->getMemberList(MemberListType::PubAttribs());
14941494
if (ml)
14951495
{
14961496
for (const auto &md : *ml)
@@ -1541,7 +1541,7 @@ static void processTagLessClasses(const ClassDef *rootCd,
15411541
//printf("checking members for %s\n",qPrint(cd->name()));
15421542
if (tagParentCd && !cd->getClasses().empty())
15431543
{
1544-
MemberList *ml = cd->getMemberList(MemberListType_pubAttribs);
1544+
MemberList *ml = cd->getMemberList(MemberListType::PubAttribs());
15451545
if (ml)
15461546
{
15471547
for (const auto &md : *ml)
@@ -1573,7 +1573,7 @@ static void processTagLessClasses(const ClassDef *rootCd,
15731573
// recursive calls cd is the original tag-less struct (of which
15741574
// there is only one instance) and tagParentCd is the newly
15751575
// generated tagged struct of which there can be multiple instances!
1576-
MemberList *pml = tagParentCd->getMemberList(MemberListType_pubAttribs);
1576+
MemberList *pml = tagParentCd->getMemberList(MemberListType::PubAttribs());
15771577
if (pml)
15781578
{
15791579
for (const auto &pmd : *pml)
@@ -7421,7 +7421,7 @@ static bool tryAddEnumDocsToGroupMember(const Entry *root,const QCString &name)
74217421
const GroupDef *gd = Doxygen::groupLinkedMap->find(g.groupname);
74227422
if (gd)
74237423
{
7424-
MemberList *ml = gd->getMemberList(MemberListType_decEnumMembers);
7424+
MemberList *ml = gd->getMemberList(MemberListType::DecEnumMembers());
74257425
if (ml)
74267426
{
74277427
MemberDefMutable *md = toMemberDefMutable(ml->find(name));

0 commit comments

Comments
 (0)