Skip to content

Commit

Permalink
Incorrect showing of hidden call graph
Browse files Browse the repository at this point in the history
Based on review, more appropriate function name and logic.
  • Loading branch information
albert-github committed Sep 14, 2023
1 parent 3bc1ea4 commit a91acb8
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 48 deletions.
32 changes: 16 additions & 16 deletions src/doxygen.cpp
Expand Up @@ -3655,10 +3655,10 @@ static void buildFunctionList(const Entry *root)

md->addSectionsToDefinition(root->anchors);

md->enableCallGraph(md->hasCallGraph(), root->callGraph);
md->enableCallerGraph(md->hasCallerGraph(), root->callerGraph);
md->enableReferencedByRelation(md->hasReferencedByRelation(), root->referencedByRelation);
md->enableReferencesRelation(md->hasReferencesRelation(), root->referencesRelation);
md->mergeEnableCallGraph(root->callGraph);
md->mergeEnableCallerGraph(root->callerGraph);
md->mergeEnableReferencedByRelation(root->referencedByRelation);
md->mergeEnableReferencesRelation(root->referencesRelation);
md->addQualifiers(root->qualifiers);

// merge ingroup specifiers
Expand Down Expand Up @@ -3805,16 +3805,16 @@ static void findFriends()
}
mmd->setDocsForDefinition(fmd->isDocsForDefinition());

mmd->enableCallGraph(mmd->hasCallGraph(), fmd->hasCallGraph());
mmd->enableCallerGraph(mmd->hasCallerGraph(), fmd->hasCallerGraph());
mmd->enableReferencedByRelation(mmd->hasReferencedByRelation(), fmd->hasReferencedByRelation());
mmd->enableReferencesRelation(mmd->hasReferencesRelation(), fmd->hasReferencesRelation());
mmd->mergeEnableCallGraph(fmd->hasCallGraph());
mmd->mergeEnableCallerGraph(fmd->hasCallerGraph());
mmd->mergeEnableReferencedByRelation(fmd->hasReferencedByRelation());
mmd->mergeEnableReferencesRelation(fmd->hasReferencesRelation());
mmd->addQualifiers(fmd->getQualifiers());

fmd->enableCallGraph(mmd->hasCallGraph(), fmd->hasCallGraph());
fmd->enableCallerGraph(mmd->hasCallerGraph(), fmd->hasCallerGraph());
fmd->enableReferencedByRelation(mmd->hasReferencedByRelation(), fmd->hasReferencedByRelation());
fmd->enableReferencesRelation(mmd->hasReferencesRelation(), fmd->hasReferencesRelation());
fmd->mergeEnableCallGraph(mmd->hasCallGraph());
fmd->mergeEnableCallerGraph(mmd->hasCallerGraph());
fmd->mergeEnableReferencedByRelation(mmd->hasReferencedByRelation());
fmd->mergeEnableReferencesRelation(mmd->hasReferencesRelation());
fmd->addQualifiers(mmd->getQualifiers());
}
}
Expand Down Expand Up @@ -5198,10 +5198,10 @@ static void addMemberDocs(const Entry *root,
md->setRefItems(root->sli);
}

md->enableCallGraph(md->hasCallGraph(), root->callGraph);
md->enableCallerGraph(md->hasCallerGraph(), root->callerGraph);
md->enableReferencedByRelation(md->hasReferencedByRelation(), root->referencedByRelation);
md->enableReferencesRelation(md->hasReferencesRelation(), root->referencesRelation);
md->mergeEnableCallGraph(root->callGraph);
md->mergeEnableCallerGraph(root->callerGraph);
md->mergeEnableReferencedByRelation(root->referencedByRelation);
md->mergeEnableReferencesRelation(root->referencesRelation);
md->addQualifiers(root->qualifiers);

md->mergeMemberSpecifiers(spec);
Expand Down
76 changes: 48 additions & 28 deletions src/memberdef.cpp
Expand Up @@ -293,13 +293,13 @@ class MemberDefImpl : public DefinitionMixin<MemberDefMutable>
virtual void setFromAnonymousScope(bool b) override;
virtual void setFromAnonymousMember(MemberDef *m) override;
virtual void enableCallGraph(bool e) override;
virtual void enableCallGraph(bool e1, bool e2) override;
virtual void mergeEnableCallGraph(bool other) override;
virtual void enableCallerGraph(bool e) override;
virtual void enableCallerGraph(bool e1, bool e2) override;
virtual void mergeEnableCallerGraph(bool other) override;
virtual void enableReferencedByRelation(bool e) override;
virtual void enableReferencedByRelation(bool e1, bool e2) override;
virtual void mergeEnableReferencedByRelation(bool other) override;
virtual void enableReferencesRelation(bool e) override;
virtual void enableReferencesRelation(bool e1, bool e2) override;
virtual void mergeEnableReferencesRelation(bool other) override;
virtual void setTemplateMaster(MemberDef *mt) override;
virtual void addListReference(Definition *d) override;
virtual void setDocsForDefinition(bool b) override;
Expand Down Expand Up @@ -4814,11 +4814,16 @@ void MemberDefImpl::enableCallGraph(bool e)
if (e) Doxygen::parseSourcesNeeded = TRUE;
}

void MemberDefImpl::enableCallGraph(bool e1, bool e2)
void MemberDefImpl::mergeEnableCallGraph(bool other)
{
if (e1 == e2) m_hasCallGraph=e1;
else m_hasCallGraph=!Config_getBool(CALL_GRAPH);
if (m_hasCallGraph) Doxygen::parseSourcesNeeded = TRUE;
if (Config_getBool(CALL_GRAPH))
{
enableCallGraph(m_hasCallGraph && other); // enabled if neither deviate from config value
}
else
{
enableCallGraph(m_hasCallGraph || other); // enabled if either deviate from config value
}
}

void MemberDefImpl::enableCallerGraph(bool e)
Expand All @@ -4827,11 +4832,16 @@ void MemberDefImpl::enableCallerGraph(bool e)
if (e) Doxygen::parseSourcesNeeded = TRUE;
}

void MemberDefImpl::enableCallerGraph(bool e1, bool e2)
void MemberDefImpl::mergeEnableCallerGraph(bool other)
{
if (e1 == e2) m_hasCallerGraph=e1;
else m_hasCallerGraph=!Config_getBool(CALLER_GRAPH);
if (m_hasCallerGraph) Doxygen::parseSourcesNeeded = TRUE;
if (Config_getBool(CALLER_GRAPH))
{
enableCallerGraph(m_hasCallerGraph && other); // enabled if neither deviate from config value
}
else
{
enableCallerGraph(m_hasCallerGraph || other); // enabled if either deviate from config value
}
}

void MemberDefImpl::enableReferencedByRelation(bool e)
Expand All @@ -4840,11 +4850,16 @@ void MemberDefImpl::enableReferencedByRelation(bool e)
if (e) Doxygen::parseSourcesNeeded = TRUE;
}

void MemberDefImpl::enableReferencedByRelation(bool e1, bool e2)
void MemberDefImpl::mergeEnableReferencedByRelation(bool other)
{
if (e1 == e2) m_hasReferencedByRelation=e1;
else m_hasReferencedByRelation=!Config_getBool(REFERENCED_BY_RELATION);
if (m_hasReferencedByRelation) Doxygen::parseSourcesNeeded = TRUE;
if (Config_getBool(REFERENCED_BY_RELATION))
{
enableReferencedByRelation(m_hasReferencedByRelation && other); // enabled if neither deviate from config value
}
else
{
enableReferencedByRelation(m_hasReferencedByRelation || other); // enabled if either deviate from config value
}
}

void MemberDefImpl::enableReferencesRelation(bool e)
Expand All @@ -4853,11 +4868,16 @@ void MemberDefImpl::enableReferencesRelation(bool e)
if (e) Doxygen::parseSourcesNeeded = TRUE;
}

void MemberDefImpl::enableReferencesRelation(bool e1, bool e2)
void MemberDefImpl::mergeEnableReferencesRelation(bool other)
{
if (e1 == e2) m_hasReferencesRelation=e1;
else m_hasReferencesRelation=!Config_getBool(REFERENCES_RELATION);
if (m_hasReferencesRelation) Doxygen::parseSourcesNeeded = TRUE;
if (Config_getBool(REFERENCES_RELATION))
{
enableReferencesRelation(m_hasReferencesRelation && other); // enabled if neither deviate from config value
}
else
{
enableReferencesRelation(m_hasReferencesRelation || other); // enabled if either deviate from config value
}
}

bool MemberDefImpl::isObjCMethod() const
Expand Down Expand Up @@ -6150,15 +6170,15 @@ void combineDeclarationAndDefinition(MemberDefMutable *mdec,MemberDefMutable *md
mdef->setMemberDeclaration(mdec);
mdec->setMemberDefinition(mdef);

mdef->enableCallGraph(mdec->hasCallGraph(), mdef->hasCallGraph());
mdef->enableCallerGraph(mdec->hasCallerGraph(), mdef->hasCallerGraph());
mdec->enableCallGraph(mdec->hasCallGraph(), mdef->hasCallGraph());
mdec->enableCallerGraph(mdec->hasCallerGraph(), mdef->hasCallerGraph());
mdef->mergeEnableCallGraph(mdec->hasCallGraph());
mdef->mergeEnableCallerGraph(mdec->hasCallerGraph());
mdec->mergeEnableCallGraph( mdef->hasCallGraph());
mdec->mergeEnableCallerGraph(mdef->hasCallerGraph());

mdef->enableReferencedByRelation(mdec->hasReferencedByRelation(), mdef->hasReferencedByRelation());
mdef->enableReferencesRelation(mdec->hasReferencesRelation(), mdef->hasReferencesRelation());
mdec->enableReferencedByRelation(mdec->hasReferencedByRelation(), mdef->hasReferencedByRelation());
mdec->enableReferencesRelation(mdec->hasReferencesRelation(), mdef->hasReferencesRelation());
mdef->mergeEnableReferencedByRelation(mdec->hasReferencedByRelation());
mdef->mergeEnableReferencesRelation(mdec->hasReferencesRelation());
mdec->mergeEnableReferencedByRelation(mdef->hasReferencedByRelation());
mdec->mergeEnableReferencesRelation(mdef->hasReferencesRelation());

mdef->addQualifiers(mdec->getQualifiers());
mdec->addQualifiers(mdef->getQualifiers());
Expand Down
8 changes: 4 additions & 4 deletions src/memberdef.h
Expand Up @@ -380,14 +380,14 @@ class MemberDefMutable : public DefinitionMutable, public MemberDef
virtual void setFromAnonymousMember(MemberDef *m) = 0;

virtual void enableCallGraph(bool e) = 0;
virtual void enableCallGraph(bool e1, bool e2) = 0;
virtual void mergeEnableCallGraph(bool other) = 0;
virtual void enableCallerGraph(bool e) = 0;
virtual void enableCallerGraph(bool e1, bool e2) = 0;
virtual void mergeEnableCallerGraph(bool other) = 0;

virtual void enableReferencedByRelation(bool e) = 0;
virtual void enableReferencedByRelation(bool e1, bool e2) = 0;
virtual void mergeEnableReferencedByRelation(bool other) = 0;
virtual void enableReferencesRelation(bool e) = 0;
virtual void enableReferencesRelation(bool e1, bool e2) = 0;
virtual void mergeEnableReferencesRelation(bool other) = 0;

virtual void setTemplateMaster(MemberDef *mt) = 0;
virtual void addListReference(Definition *d) = 0;
Expand Down

0 comments on commit a91acb8

Please sign in to comment.