Skip to content

Commit a91acb8

Browse files
committed
Incorrect showing of hidden call graph
Based on review, more appropriate function name and logic.
1 parent 3bc1ea4 commit a91acb8

File tree

3 files changed

+68
-48
lines changed

3 files changed

+68
-48
lines changed

src/doxygen.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3655,10 +3655,10 @@ static void buildFunctionList(const Entry *root)
36553655

36563656
md->addSectionsToDefinition(root->anchors);
36573657

3658-
md->enableCallGraph(md->hasCallGraph(), root->callGraph);
3659-
md->enableCallerGraph(md->hasCallerGraph(), root->callerGraph);
3660-
md->enableReferencedByRelation(md->hasReferencedByRelation(), root->referencedByRelation);
3661-
md->enableReferencesRelation(md->hasReferencesRelation(), root->referencesRelation);
3658+
md->mergeEnableCallGraph(root->callGraph);
3659+
md->mergeEnableCallerGraph(root->callerGraph);
3660+
md->mergeEnableReferencedByRelation(root->referencedByRelation);
3661+
md->mergeEnableReferencesRelation(root->referencesRelation);
36623662
md->addQualifiers(root->qualifiers);
36633663

36643664
// merge ingroup specifiers
@@ -3805,16 +3805,16 @@ static void findFriends()
38053805
}
38063806
mmd->setDocsForDefinition(fmd->isDocsForDefinition());
38073807

3808-
mmd->enableCallGraph(mmd->hasCallGraph(), fmd->hasCallGraph());
3809-
mmd->enableCallerGraph(mmd->hasCallerGraph(), fmd->hasCallerGraph());
3810-
mmd->enableReferencedByRelation(mmd->hasReferencedByRelation(), fmd->hasReferencedByRelation());
3811-
mmd->enableReferencesRelation(mmd->hasReferencesRelation(), fmd->hasReferencesRelation());
3808+
mmd->mergeEnableCallGraph(fmd->hasCallGraph());
3809+
mmd->mergeEnableCallerGraph(fmd->hasCallerGraph());
3810+
mmd->mergeEnableReferencedByRelation(fmd->hasReferencedByRelation());
3811+
mmd->mergeEnableReferencesRelation(fmd->hasReferencesRelation());
38123812
mmd->addQualifiers(fmd->getQualifiers());
38133813

3814-
fmd->enableCallGraph(mmd->hasCallGraph(), fmd->hasCallGraph());
3815-
fmd->enableCallerGraph(mmd->hasCallerGraph(), fmd->hasCallerGraph());
3816-
fmd->enableReferencedByRelation(mmd->hasReferencedByRelation(), fmd->hasReferencedByRelation());
3817-
fmd->enableReferencesRelation(mmd->hasReferencesRelation(), fmd->hasReferencesRelation());
3814+
fmd->mergeEnableCallGraph(mmd->hasCallGraph());
3815+
fmd->mergeEnableCallerGraph(mmd->hasCallerGraph());
3816+
fmd->mergeEnableReferencedByRelation(mmd->hasReferencedByRelation());
3817+
fmd->mergeEnableReferencesRelation(mmd->hasReferencesRelation());
38183818
fmd->addQualifiers(mmd->getQualifiers());
38193819
}
38203820
}
@@ -5198,10 +5198,10 @@ static void addMemberDocs(const Entry *root,
51985198
md->setRefItems(root->sli);
51995199
}
52005200

5201-
md->enableCallGraph(md->hasCallGraph(), root->callGraph);
5202-
md->enableCallerGraph(md->hasCallerGraph(), root->callerGraph);
5203-
md->enableReferencedByRelation(md->hasReferencedByRelation(), root->referencedByRelation);
5204-
md->enableReferencesRelation(md->hasReferencesRelation(), root->referencesRelation);
5201+
md->mergeEnableCallGraph(root->callGraph);
5202+
md->mergeEnableCallerGraph(root->callerGraph);
5203+
md->mergeEnableReferencedByRelation(root->referencedByRelation);
5204+
md->mergeEnableReferencesRelation(root->referencesRelation);
52055205
md->addQualifiers(root->qualifiers);
52065206

52075207
md->mergeMemberSpecifiers(spec);

src/memberdef.cpp

Lines changed: 48 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -293,13 +293,13 @@ class MemberDefImpl : public DefinitionMixin<MemberDefMutable>
293293
virtual void setFromAnonymousScope(bool b) override;
294294
virtual void setFromAnonymousMember(MemberDef *m) override;
295295
virtual void enableCallGraph(bool e) override;
296-
virtual void enableCallGraph(bool e1, bool e2) override;
296+
virtual void mergeEnableCallGraph(bool other) override;
297297
virtual void enableCallerGraph(bool e) override;
298-
virtual void enableCallerGraph(bool e1, bool e2) override;
298+
virtual void mergeEnableCallerGraph(bool other) override;
299299
virtual void enableReferencedByRelation(bool e) override;
300-
virtual void enableReferencedByRelation(bool e1, bool e2) override;
300+
virtual void mergeEnableReferencedByRelation(bool other) override;
301301
virtual void enableReferencesRelation(bool e) override;
302-
virtual void enableReferencesRelation(bool e1, bool e2) override;
302+
virtual void mergeEnableReferencesRelation(bool other) override;
303303
virtual void setTemplateMaster(MemberDef *mt) override;
304304
virtual void addListReference(Definition *d) override;
305305
virtual void setDocsForDefinition(bool b) override;
@@ -4814,11 +4814,16 @@ void MemberDefImpl::enableCallGraph(bool e)
48144814
if (e) Doxygen::parseSourcesNeeded = TRUE;
48154815
}
48164816

4817-
void MemberDefImpl::enableCallGraph(bool e1, bool e2)
4817+
void MemberDefImpl::mergeEnableCallGraph(bool other)
48184818
{
4819-
if (e1 == e2) m_hasCallGraph=e1;
4820-
else m_hasCallGraph=!Config_getBool(CALL_GRAPH);
4821-
if (m_hasCallGraph) Doxygen::parseSourcesNeeded = TRUE;
4819+
if (Config_getBool(CALL_GRAPH))
4820+
{
4821+
enableCallGraph(m_hasCallGraph && other); // enabled if neither deviate from config value
4822+
}
4823+
else
4824+
{
4825+
enableCallGraph(m_hasCallGraph || other); // enabled if either deviate from config value
4826+
}
48224827
}
48234828

48244829
void MemberDefImpl::enableCallerGraph(bool e)
@@ -4827,11 +4832,16 @@ void MemberDefImpl::enableCallerGraph(bool e)
48274832
if (e) Doxygen::parseSourcesNeeded = TRUE;
48284833
}
48294834

4830-
void MemberDefImpl::enableCallerGraph(bool e1, bool e2)
4835+
void MemberDefImpl::mergeEnableCallerGraph(bool other)
48314836
{
4832-
if (e1 == e2) m_hasCallerGraph=e1;
4833-
else m_hasCallerGraph=!Config_getBool(CALLER_GRAPH);
4834-
if (m_hasCallerGraph) Doxygen::parseSourcesNeeded = TRUE;
4837+
if (Config_getBool(CALLER_GRAPH))
4838+
{
4839+
enableCallerGraph(m_hasCallerGraph && other); // enabled if neither deviate from config value
4840+
}
4841+
else
4842+
{
4843+
enableCallerGraph(m_hasCallerGraph || other); // enabled if either deviate from config value
4844+
}
48354845
}
48364846

48374847
void MemberDefImpl::enableReferencedByRelation(bool e)
@@ -4840,11 +4850,16 @@ void MemberDefImpl::enableReferencedByRelation(bool e)
48404850
if (e) Doxygen::parseSourcesNeeded = TRUE;
48414851
}
48424852

4843-
void MemberDefImpl::enableReferencedByRelation(bool e1, bool e2)
4853+
void MemberDefImpl::mergeEnableReferencedByRelation(bool other)
48444854
{
4845-
if (e1 == e2) m_hasReferencedByRelation=e1;
4846-
else m_hasReferencedByRelation=!Config_getBool(REFERENCED_BY_RELATION);
4847-
if (m_hasReferencedByRelation) Doxygen::parseSourcesNeeded = TRUE;
4855+
if (Config_getBool(REFERENCED_BY_RELATION))
4856+
{
4857+
enableReferencedByRelation(m_hasReferencedByRelation && other); // enabled if neither deviate from config value
4858+
}
4859+
else
4860+
{
4861+
enableReferencedByRelation(m_hasReferencedByRelation || other); // enabled if either deviate from config value
4862+
}
48484863
}
48494864

48504865
void MemberDefImpl::enableReferencesRelation(bool e)
@@ -4853,11 +4868,16 @@ void MemberDefImpl::enableReferencesRelation(bool e)
48534868
if (e) Doxygen::parseSourcesNeeded = TRUE;
48544869
}
48554870

4856-
void MemberDefImpl::enableReferencesRelation(bool e1, bool e2)
4871+
void MemberDefImpl::mergeEnableReferencesRelation(bool other)
48574872
{
4858-
if (e1 == e2) m_hasReferencesRelation=e1;
4859-
else m_hasReferencesRelation=!Config_getBool(REFERENCES_RELATION);
4860-
if (m_hasReferencesRelation) Doxygen::parseSourcesNeeded = TRUE;
4873+
if (Config_getBool(REFERENCES_RELATION))
4874+
{
4875+
enableReferencesRelation(m_hasReferencesRelation && other); // enabled if neither deviate from config value
4876+
}
4877+
else
4878+
{
4879+
enableReferencesRelation(m_hasReferencesRelation || other); // enabled if either deviate from config value
4880+
}
48614881
}
48624882

48634883
bool MemberDefImpl::isObjCMethod() const
@@ -6150,15 +6170,15 @@ void combineDeclarationAndDefinition(MemberDefMutable *mdec,MemberDefMutable *md
61506170
mdef->setMemberDeclaration(mdec);
61516171
mdec->setMemberDefinition(mdef);
61526172

6153-
mdef->enableCallGraph(mdec->hasCallGraph(), mdef->hasCallGraph());
6154-
mdef->enableCallerGraph(mdec->hasCallerGraph(), mdef->hasCallerGraph());
6155-
mdec->enableCallGraph(mdec->hasCallGraph(), mdef->hasCallGraph());
6156-
mdec->enableCallerGraph(mdec->hasCallerGraph(), mdef->hasCallerGraph());
6173+
mdef->mergeEnableCallGraph(mdec->hasCallGraph());
6174+
mdef->mergeEnableCallerGraph(mdec->hasCallerGraph());
6175+
mdec->mergeEnableCallGraph( mdef->hasCallGraph());
6176+
mdec->mergeEnableCallerGraph(mdef->hasCallerGraph());
61576177

6158-
mdef->enableReferencedByRelation(mdec->hasReferencedByRelation(), mdef->hasReferencedByRelation());
6159-
mdef->enableReferencesRelation(mdec->hasReferencesRelation(), mdef->hasReferencesRelation());
6160-
mdec->enableReferencedByRelation(mdec->hasReferencedByRelation(), mdef->hasReferencedByRelation());
6161-
mdec->enableReferencesRelation(mdec->hasReferencesRelation(), mdef->hasReferencesRelation());
6178+
mdef->mergeEnableReferencedByRelation(mdec->hasReferencedByRelation());
6179+
mdef->mergeEnableReferencesRelation(mdec->hasReferencesRelation());
6180+
mdec->mergeEnableReferencedByRelation(mdef->hasReferencedByRelation());
6181+
mdec->mergeEnableReferencesRelation(mdef->hasReferencesRelation());
61626182

61636183
mdef->addQualifiers(mdec->getQualifiers());
61646184
mdec->addQualifiers(mdef->getQualifiers());

src/memberdef.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -380,14 +380,14 @@ class MemberDefMutable : public DefinitionMutable, public MemberDef
380380
virtual void setFromAnonymousMember(MemberDef *m) = 0;
381381

382382
virtual void enableCallGraph(bool e) = 0;
383-
virtual void enableCallGraph(bool e1, bool e2) = 0;
383+
virtual void mergeEnableCallGraph(bool other) = 0;
384384
virtual void enableCallerGraph(bool e) = 0;
385-
virtual void enableCallerGraph(bool e1, bool e2) = 0;
385+
virtual void mergeEnableCallerGraph(bool other) = 0;
386386

387387
virtual void enableReferencedByRelation(bool e) = 0;
388-
virtual void enableReferencedByRelation(bool e1, bool e2) = 0;
388+
virtual void mergeEnableReferencedByRelation(bool other) = 0;
389389
virtual void enableReferencesRelation(bool e) = 0;
390-
virtual void enableReferencesRelation(bool e1, bool e2) = 0;
390+
virtual void mergeEnableReferencesRelation(bool other) = 0;
391391

392392
virtual void setTemplateMaster(MemberDef *mt) = 0;
393393
virtual void addListReference(Definition *d) = 0;

0 commit comments

Comments
 (0)