summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp50
1 files changed, 23 insertions, 27 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index cb667cb..f102273 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -128,7 +128,6 @@ FileNameDict *Doxygen::inputNameDict = 0;
GroupSDict *Doxygen::groupSDict = 0;
PageSDict *Doxygen::pageSDict = 0;
PageSDict *Doxygen::exampleSDict = 0;
-SectionDict *Doxygen::sectionDict = 0; // all page sections
StringDict Doxygen::aliasDict(257); // aliases
QDict<void> Doxygen::inputPaths(1009);
FileNameDict *Doxygen::includeNameDict = 0; // include names
@@ -192,7 +191,6 @@ void clearAll()
Doxygen::pageSDict->clear();
Doxygen::exampleSDict->clear();
Doxygen::inputNameList->clear();
- Doxygen::sectionDict->clear();
Doxygen::inputNameDict->clear();
Doxygen::includeNameDict->clear();
Doxygen::exampleNameDict->clear();
@@ -201,6 +199,7 @@ void clearAll()
Doxygen::mscFileNameDict->clear();
Doxygen::diaFileNameDict->clear();
Doxygen::tagDestinationDict.clear();
+ SectionManager::instance().clear();
CitationManager::instance().clear();
delete Doxygen::mainPage; Doxygen::mainPage=0;
FormulaManager::instance().clear();
@@ -8509,30 +8508,31 @@ static void findMainPage(Entry *root)
Doxygen::mainPage->setLocalToc(root->localToc);
addPageToContext(Doxygen::mainPage,root);
- SectionInfo *si = Doxygen::sectionDict->find(Doxygen::mainPage->name());
+ const SectionInfo *si = SectionManager::instance().find(Doxygen::mainPage->name());
if (si)
{
- if (si->lineNr != -1)
+ if (si->lineNr() != -1)
{
- warn(root->fileName,root->startLine,"multiple use of section label '%s' for main page, (first occurrence: %s, line %d)",Doxygen::mainPage->name().data(),si->fileName.data(),si->lineNr);
+ warn(root->fileName,root->startLine,"multiple use of section label '%s' for main page, (first occurrence: %s, line %d)",
+ Doxygen::mainPage->name().data(),si->fileName().data(),si->lineNr());
}
else
{
- warn(root->fileName,root->startLine,"multiple use of section label '%s' for main page, (first occurrence: %s)",Doxygen::mainPage->name().data(),si->fileName.data());
+ warn(root->fileName,root->startLine,"multiple use of section label '%s' for main page, (first occurrence: %s)",
+ Doxygen::mainPage->name().data(),si->fileName().data());
}
}
else
{
// a page name is a label as well! but should no be double either
- si=new SectionInfo(
+ SectionManager::instance().add(
indexName, root->startLine,
Doxygen::mainPage->name(),
Doxygen::mainPage->title(),
- SectionInfo::Page,
+ SectionType::Page,
0); // level 0
- Doxygen::sectionDict->append(indexName,si);
- Doxygen::mainPage->addSectionsToDefinition(root->anchors);
}
+ Doxygen::mainPage->addSectionsToDefinition(root->anchors);
}
else if (root->tagInfo()==0)
{
@@ -8615,9 +8615,7 @@ static void checkPageRelations()
static void resolveUserReferences()
{
- SDict<SectionInfo>::Iterator sdi(*Doxygen::sectionDict);
- SectionInfo *si;
- for (;(si=sdi.current());++sdi)
+ for (auto &si : SectionManager::instance())
{
//printf("si->label='%s' si->definition=%s si->fileName='%s'\n",
// si->label.data(),si->definition?si->definition->name().data():"<none>",
@@ -8634,39 +8632,39 @@ static void resolveUserReferences()
for (rli.toFirst();(rl=rli.current());++rli)
{
QCString label="_"+rl->listName(); // "_todo", "_test", ...
- if (si->label.left(label.length())==label)
+ if (si->label().left(label.length())==label)
{
- si->fileName=rl->listName();
- si->generated=TRUE;
+ si->setFileName(rl->listName());
+ si->setGenerated(TRUE);
break;
}
}
//printf("start: si->label=%s si->fileName=%s\n",si->label.data(),si->fileName.data());
- if (!si->generated)
+ if (!si->generated())
{
// if this section is in a page and the page is in a group, then we
// have to adjust the link file name to point to the group.
- if (!si->fileName.isEmpty() &&
- (pd=Doxygen::pageSDict->find(si->fileName)) &&
+ if (!si->fileName().isEmpty() &&
+ (pd=Doxygen::pageSDict->find(si->fileName())) &&
pd->getGroupDef())
{
- si->fileName=pd->getGroupDef()->getOutputFileBase().copy();
+ si->setFileName(pd->getGroupDef()->getOutputFileBase());
}
- if (si->definition)
+ if (si->definition())
{
// TODO: there should be one function in Definition that returns
// the file to link to, so we can avoid the following tests.
const GroupDef *gd=0;
- if (si->definition->definitionType()==Definition::TypeMember)
+ if (si->definition()->definitionType()==Definition::TypeMember)
{
- gd = (dynamic_cast<MemberDef *>(si->definition))->getGroupDef();
+ gd = (dynamic_cast<MemberDef *>(si->definition()))->getGroupDef();
}
if (gd)
{
- si->fileName=gd->getOutputFileBase().copy();
+ si->setFileName(gd->getOutputFileBase());
}
else
{
@@ -9863,8 +9861,6 @@ void initDoxygen()
Doxygen::dirRelations.setAutoDelete(TRUE);
Doxygen::genericsDict = new GenericsSDict;
Doxygen::indexList = new IndexList;
- Doxygen::sectionDict = new SectionDict(257);
- Doxygen::sectionDict->setAutoDelete(TRUE);
// initialisation of these globals depends on
// configuration switches so we need to postpone these
@@ -9893,8 +9889,8 @@ void initDoxygen()
void cleanUpDoxygen()
{
FormulaManager::instance().clear();
+ SectionManager::instance().clear();
- delete Doxygen::sectionDict;
delete Doxygen::indexList;
delete Doxygen::genericsDict;
delete Doxygen::inputNameDict;