summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2011-08-21 08:11:15 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2011-08-21 08:11:15 (GMT)
commitd71a726489094c4fc1cf94f27a6eaa9a9f56a538 (patch)
tree26df576f6822a144ec9e57d58a5e9cca717ebd7b /src/doxygen.cpp
parent9e5aed6d58f0e33ca942f67daa49971d885b0110 (diff)
downloadDoxygen-d71a726489094c4fc1cf94f27a6eaa9a9f56a538.zip
Doxygen-d71a726489094c4fc1cf94f27a6eaa9a9f56a538.tar.gz
Doxygen-d71a726489094c4fc1cf94f27a6eaa9a9f56a538.tar.bz2
Release-1.7.5.1
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp60
1 files changed, 43 insertions, 17 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index f9918ff..240db24 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -81,6 +81,7 @@
#include "vhdldocgen.h"
#include "eclipsehelp.h"
#include "cite.h"
+#include "filestorage.h"
#include "layout.h"
@@ -1175,6 +1176,29 @@ static void addClassToContext(EntryNav *rootNav)
fullName.data(),root->section,root->tArgLists ? (int)root->tArgLists->count() : -1);
cd->setDocumentation(root->doc,root->docFile,root->docLine); // copy docs to definition
cd->setBriefDescription(root->brief,root->briefFile,root->briefLine);
+ cd->setLanguage(root->lang);
+ cd->setHidden(root->hidden);
+ cd->setArtificial(root->artificial);
+ cd->setTypeConstraints(root->typeConstr);
+ //printf("new ClassDef %s tempArgList=%p specScope=%s\n",fullName.data(),root->tArgList,root->scopeSpec.data());
+
+ ArgumentList *tArgList =
+ getTemplateArgumentsFromName(fullName,root->tArgLists);
+ //printf("class %s template args=%s\n",fullName.data(),
+ // tArgList ? tempArgListToString(tArgList).data() : "<none>");
+ cd->setTemplateArguments(tArgList);
+ cd->setProtection(root->protection);
+ cd->setIsStatic(root->stat);
+
+ // file definition containing the class cd
+ cd->setBodySegment(root->bodyLine,root->endBodyLine);
+ cd->setBodyDef(fd);
+
+ // see if the class is found inside a namespace
+ //bool found=addNamespace(root,cd);
+
+ // the empty string test is needed for extract all case
+ cd->setBriefDescription(root->brief,root->briefFile,root->briefLine);
cd->insertUsedFile(root->fileName);
// add class to the list
@@ -1415,7 +1439,7 @@ static void processTagLessClasses(ClassDef *rootCd,
ClassDef *tagParentCd,
const QCString &prefix,int count)
{
- printf("%d: processTagLessClasses %s\n",count,cd->name().data());
+ //printf("%d: processTagLessClasses %s\n",count,cd->name().data());
//printf("checking members for %s\n",cd->name().data());
if (cd->getInnerClasses())
{
@@ -1433,7 +1457,7 @@ static void processTagLessClasses(ClassDef *rootCd,
ClassDef *icd;
for (it.toFirst();(icd=it.current());++it)
{
- printf(" member %s: type='%s'\n",md->name().data(),type.data());
+ //printf(" member %s: type='%s'\n",md->name().data(),type.data());
//printf(" comparing '%s'<->'%s'\n",type.data(),icd->name().data());
if (type.find(icd->name())!=-1) // matching tag less struct/union
{
@@ -8900,6 +8924,7 @@ static void parseFiles(Entry *root,EntryNav *rootNav)
bool ambig;
FileDef *fd=findFileDef(Doxygen::inputNameDict,fileName,ambig);
ASSERT(fd!=0);
+ //printf("root->createNavigationIndex for %s\n",fd->name().data());
root->createNavigationIndex(rootNav,g_storage,fd);
s=g_inputFiles.next();
@@ -10168,7 +10193,8 @@ void parseInput()
if (cacheSize<0) cacheSize=0;
if (cacheSize>9) cacheSize=9;
Doxygen::symbolCache = new ObjCache(16+cacheSize); // 16 -> room for 65536 elements,
- // ~2.0 MByte "overhead"
+ // ~2.0 MByte "overhead"
+ //Doxygen::symbolCache = new ObjCache(1); // only to stress test cache behaviour
Doxygen::symbolStorage = new Store;
#ifdef HAS_SIGNALS
@@ -10331,15 +10357,6 @@ void parseInput()
* Parse source files *
**************************************************************************/
- parseFiles(root,rootNav);
- g_storage->close();
- if (!g_storage->open(IO_ReadOnly))
- {
- err("Failed to open temporary storage file %s for reading",
- Doxygen::entryDBFileName.data());
- exit(1);
- }
-
//printNavTree(rootNav,0);
// we are done with input scanning now, so free up the buffers used by flex
@@ -10352,6 +10369,20 @@ void parseInput()
//g_storage.close();
//exit(1);
+ if (Config_getBool("BUILTIN_STL_SUPPORT"))
+ {
+ addSTLClasses(rootNav);
+ }
+
+ parseFiles(root,rootNav);
+ g_storage->close();
+ if (!g_storage->open(IO_ReadOnly))
+ {
+ err("Failed to open temporary storage file %s for reading",
+ Doxygen::entryDBFileName.data());
+ exit(1);
+ }
+
/**************************************************************************
* Gather information *
**************************************************************************/
@@ -10364,11 +10395,6 @@ void parseInput()
buildDirectories();
findDirDocumentation(rootNav);
- if (Config_getBool("BUILTIN_STL_SUPPORT"))
- {
- addSTLClasses(rootNav);
- }
-
msg("Building namespace list...\n");
buildNamespaceList(rootNav);
findUsingDirectives(rootNav);