summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp88
1 files changed, 34 insertions, 54 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 7c350d4..1a70e61 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -3709,59 +3709,10 @@ static void transferFunctionReferences()
)
) /* match found */
{
- MemberSDict *defDict = mdef->getReferencesMembers();
- MemberSDict *decDict = mdec->getReferencesMembers();
- if (defDict!=0)
- {
- MemberSDict::IteratorDict msdi(*defDict);
- MemberDef *rmd;
- for (msdi.toFirst();(rmd=msdi.current());++msdi)
- {
- if (decDict==0 || decDict->find(rmd->name())==0)
- {
- mdec->addSourceReferences(rmd);
- }
- }
- }
- if (decDict!=0)
- {
- MemberSDict::IteratorDict msdi(*decDict);
- MemberDef *rmd;
- for (msdi.toFirst();(rmd=msdi.current());++msdi)
- {
- if (defDict==0 || defDict->find(rmd->name())==0)
- {
- mdef->addSourceReferences(rmd);
- }
- }
- }
-
- defDict = mdef->getReferencedByMembers();
- decDict = mdec->getReferencedByMembers();
- if (defDict!=0)
- {
- MemberSDict::IteratorDict msdi(*defDict);
- MemberDef *rmd;
- for (msdi.toFirst();(rmd=msdi.current());++msdi)
- {
- if (decDict==0 || decDict->find(rmd->name())==0)
- {
- mdec->addSourceReferencedBy(rmd);
- }
- }
- }
- if (decDict!=0)
- {
- MemberSDict::IteratorDict msdi(*decDict);
- MemberDef *rmd;
- for (msdi.toFirst();(rmd=msdi.current());++msdi)
- {
- if (defDict==0 || defDict->find(rmd->name())==0)
- {
- mdef->addSourceReferencedBy(rmd);
- }
- }
- }
+ mdef->mergeReferences(mdec);
+ mdec->mergeReferences(mdef);
+ mdef->mergeReferencedBy(mdec);
+ mdec->mergeReferencedBy(mdef);
}
}
}
@@ -7651,7 +7602,6 @@ static void generateFileSources()
results.emplace_back(threadPool.queue(processFile));
}
}
- // first wait until all files are processed
for (auto &f : results)
{
auto ctx = f.get();
@@ -7860,6 +7810,32 @@ static void sortMemberLists()
//----------------------------------------------------------------------------
+void computeTooltipTexts()
+{
+ QDictIterator<DefinitionIntf> di(*Doxygen::symbolMap);
+ DefinitionIntf *intf;
+ for (;(intf=di.current());++di)
+ {
+ if (intf->definitionType()==DefinitionIntf::TypeSymbolList) // list of symbols
+ {
+ DefinitionListIterator dli(*(DefinitionList*)intf);
+ Definition *d;
+ // for each symbol
+ for (dli.toFirst();(d=dli.current());++dli)
+ {
+ d->computeTooltip();
+ }
+ }
+ else // single symbol
+ {
+ Definition *d = (Definition *)intf;
+ if (d!=Doxygen::globalScope) d->computeTooltip();
+ }
+ }
+}
+
+//----------------------------------------------------------------------------
+
static void setAnonymousEnumType()
{
ClassSDict::Iterator cli(*Doxygen::classSDict);
@@ -11443,6 +11419,10 @@ void parseInput()
vhdlCorrectMemberProperties();
g_s.end();
+ g_s.begin("Computing tooltip texts...\n");
+ computeTooltipTexts();
+ g_s.end();
+
if (Config_getBool(SORT_GROUP_NAMES))
{
Doxygen::groupSDict->sort();