summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2000-12-20 19:54:07 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2000-12-20 19:54:07 (GMT)
commita0758fd182732a710364bdf3ebf5c2fb87b0ff70 (patch)
tree1fae01f2e80d65a57788a3f11ab9fa7463c22ec9 /src
parent00415514455991a9ff44b926c50adda994128924 (diff)
downloadDoxygen-a0758fd182732a710364bdf3ebf5c2fb87b0ff70.zip
Doxygen-a0758fd182732a710364bdf3ebf5c2fb87b0ff70.tar.gz
Doxygen-a0758fd182732a710364bdf3ebf5c2fb87b0ff70.tar.bz2
Release-1.2.3-20001220
Diffstat (limited to 'src')
-rw-r--r--src/classdef.cpp3
-rw-r--r--src/classdef.h5
-rw-r--r--src/diagram.cpp4
-rw-r--r--src/dot.cpp8
-rw-r--r--src/doxygen.cpp36
-rw-r--r--src/pre.l2
-rw-r--r--src/tagreader.cpp18
-rw-r--r--src/tagreader.h18
-rw-r--r--src/util.cpp61
-rw-r--r--src/util.h2
10 files changed, 101 insertions, 56 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index ac104eb..01bc655 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -1665,7 +1665,6 @@ void ClassDef::mergeMembers()
Specifier virt=mi->virt;
if (mi->virt==Normal && bcd->virt!=Normal) virt=bcd->virt;
MemberInfo *newMi=new MemberInfo(mi->memberDef,bcd->prot,virt);
- //if (mi->memberDef->getClassDef()!=bClass)
newMi->scopePath=bClass->name()+"::"+mi->scopePath;
newMi->ambigClass=mi->ambigClass;
newMi->ambiguityResolutionScope=mi->ambiguityResolutionScope.copy();
@@ -1674,7 +1673,7 @@ void ClassDef::mergeMembers()
}
// add it to the list and dictionary
- dstMnl->inSort(newMni);
+ dstMnl->append(newMni);
dstMnd->insert(newMni->memberName(),newMni);
}
}
diff --git a/src/classdef.h b/src/classdef.h
index 2bb6a66..f9c26dd 100644
--- a/src/classdef.h
+++ b/src/classdef.h
@@ -67,8 +67,6 @@ class ClassDef : public Definition
void insertSuperClass(ClassDef *,Protection p,Specifier s,const char *t=0);
BaseClassList *superClasses() { return inheritedBy; }
void setIncludeFile(FileDef *fd,const char *incName,bool local);
- //FileDef *includeFile() const { return incFile; }
- //void setIncludeName(const char *n_) { incName=n_; }
MemberNameInfoList *memberNameInfoList() { return allMemberNameInfoList; }
MemberNameInfoDict *memberNameInfoDict() { return allMemberNameInfoDict; }
void insertMember(MemberDef *);
@@ -79,12 +77,9 @@ class ClassDef : public Definition
void dumpMembers();
void writeDocumentation(OutputList &ol);
void writeMemberList(OutputList &ol);
- //void writeIncludeFile(OutputList &ol);
- //void writeMembersToContents();
void writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup);
bool addExample(const char *anchor,const char *name, const char *file);
bool hasExamples();
- //void writeExample(OutputList &ol);
void setProtection(Protection p) { prot=p; }
Protection protection() const { return prot; }
bool isLinkableInProject();
diff --git a/src/diagram.cpp b/src/diagram.cpp
index c60c44d..eed5cd2 100644
--- a/src/diagram.cpp
+++ b/src/diagram.cpp
@@ -1236,10 +1236,10 @@ void ClassDiagram::writeFigure(QTextStream &output,const char *path,
if (Config::usePDFLatexFlag)
{
QCString epstopdfArgs(4096);
- epstopdfArgs.sprintf("\"%s.eps\" -outfile=\"%s.pdf\"",
+ epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"",
epsBaseName.data(),epsBaseName.data());
//printf("Converting eps using `%s'\n",epstopdfCmd.data());
- if (iSystem("epstopdf",epstopdfArgs)!=0)
+ if (iSystem("epstopdf",epstopdfArgs,TRUE)!=0)
{
err("Error: Problems running epstopdf. Check your TeX installation!\n");
return;
diff --git a/src/dot.cpp b/src/dot.cpp
index c03a31c..e4a3932 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -1160,9 +1160,9 @@ void DotClassGraph::writeGraph(QTextStream &out,
if (Config::usePDFLatexFlag)
{
QCString epstopdfArgs(4096);
- epstopdfArgs.sprintf("epstopdf \"%s.eps\" -outfile=\"%s.pdf\"",
+ epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"",
baseName.data(),baseName.data());
- if (iSystem("epstopdf",epstopdfArgs)!=0)
+ if (iSystem("epstopdf",epstopdfArgs,TRUE)!=0)
{
err("Error: Problems running epstopdf. Check your TeX installation!\n");
QDir::setCurrent(oldDir);
@@ -1357,9 +1357,9 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
if (Config::usePDFLatexFlag)
{
QCString epstopdfArgs(4096);
- epstopdfArgs.sprintf("\"%s.eps\" -outfile=\"%s.pdf\"",
+ epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"",
baseName.data(),baseName.data());
- if (iSystem("epstopdf",epstopdfArgs)!=0)
+ if (iSystem("epstopdf",epstopdfArgs,TRUE)!=0)
{
err("Error: Problems running epstopdf. Check your TeX installation!\n");
QDir::setCurrent(oldDir);
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 3d7ea26..fb37b7e 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1219,7 +1219,7 @@ static MemberDef *addVariableToClass(
mn->append(md);
//printf("Adding memberName=%s\n",mn->memberName());
memberNameDict.insert(name,mn);
- memberNameList.inSort(mn);
+ memberNameList.append(mn);
// add the member to the class
}
cd->insertMember(md);
@@ -1309,7 +1309,8 @@ static MemberDef *addVariableToFile(
MemberDef *md;
for (mni.toFirst();(md=mni.current());++mni)
{
- if ((nd==0 && root->fileName==md->getFileDef()->absFilePath())
+ if ((nd==0 && md->getFileDef() &&
+ root->fileName==md->getFileDef()->absFilePath())
|| (nd!=0 && md->getNamespaceDef()==nd))
// variable already in the scope
{
@@ -1390,7 +1391,7 @@ static MemberDef *addVariableToFile(
mn = new MemberName(name);
mn->append(md);
functionNameDict.insert(name,mn);
- functionNameList.inSort(mn);
+ functionNameList.append(mn);
}
return md;
}
@@ -1777,7 +1778,7 @@ static void buildMemberList(Entry *root)
mn->append(md);
//printf("Adding memberName=%s\n",mn->memberName());
memberNameDict.insert(name,mn);
- memberNameList.inSort(mn);
+ memberNameList.append(mn);
}
// add member to the class cd
@@ -1975,7 +1976,7 @@ static void buildMemberList(Entry *root)
mn = new MemberName(name);
mn->append(md);
functionNameDict.insert(name,mn);
- functionNameList.inSort(mn);
+ functionNameList.append(mn);
}
addMemberToGroups(root,md);
}
@@ -3706,7 +3707,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
if (newMemberName)
{
//printf("Adding memberName=%s\n",mn->memberName());
- memberNameList.inSort(mn);
+ memberNameList.append(mn);
memberNameDict.insert(funcName,mn);
}
}
@@ -3977,7 +3978,7 @@ static void findEnums(Entry *root)
mn = new MemberName(name);
mn->append(md);
mnd->insert(name,mn);
- mnl->inSort(mn);
+ mnl->append(mn);
//printf("add %s to new memberName. Now %d members\n",
// name.data(),mn->count());
}
@@ -4265,21 +4266,22 @@ static void computeClassImplUsageRelations()
static void buildCompleteMemberLists()
{
ClassDef *cd;
+ // merge the member list of base classes into the inherited classes.
ClassListIterator cli(classList);
- for (;(cd=cli.current());++cli)
+ for (cli.toFirst();(cd=cli.current());++cli)
{
- //if (!cd->isReference()) printf("Building member for class %s\n",cd->name());
- //ClassListIterator vcli(classList);
- //for (;(vcd=vcli.current());++vcli) vcd->flag = FALSE;
if (!cd->isReference() && // not an external class
cd->superClasses()->count()==0 && // is a root of the hierarchy
cd->baseClasses()->count()>0) // and has at least one base class
{
cd->mergeMembers();
- //printf("merging members for class %s\n",cd->name());
- //mergeMembers(cd,cd->baseClasses());
}
}
+ // now sort the member list of all classes.
+ for (cli.toFirst();(cd=cli.current());++cli)
+ {
+ cd->memberNameInfoList()->sort();
+ }
}
//----------------------------------------------------------------------------
@@ -4600,7 +4602,7 @@ static void findDefineDocumentation(Entry *root)
mn = new MemberName(root->name);
mn->append(md);
functionNameDict.insert(root->name,mn);
- functionNameList.inSort(mn);
+ functionNameList.append(mn);
}
}
MemberName *mn=functionNameDict[root->name];
@@ -6105,8 +6107,6 @@ int main(int argc,char **argv)
msg("Searching for enumerations...\n");
findEnums(root);
findEnumDocumentation(root);
-// msg("Searching for function prototypes...\n");
-// findPrototypes(root); // may introduce new members !
msg("Searching for member function documentation...\n");
findMemberDocumentation(root); // may introduce new members !
@@ -6118,6 +6118,10 @@ int main(int argc,char **argv)
msg("Search for main page...\n");
findMainPage(root);
+ msg("Sorting member lists...\n");
+ memberNameList.sort();
+ functionNameList.sort();
+
msg("Freeing entry tree\n");
delete root;
diff --git a/src/pre.l b/src/pre.l
index 2c3c67b..e6103b8 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -828,7 +828,7 @@ void addDefine()
if (mn==0)
{
mn = new MemberName(g_defName);
- functionNameList.inSort(mn);
+ functionNameList.append(mn);
functionNameDict.insert(g_defName,mn);
}
mn->append(md);
diff --git a/src/tagreader.cpp b/src/tagreader.cpp
index d01e4bd..c226320 100644
--- a/src/tagreader.cpp
+++ b/src/tagreader.cpp
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *
+ *
+ *
+ *
+ * Copyright (C) 1997-2000 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * Documents produced by Doxygen are derivative works derived from the
+ * input used in their production; they are not affected by this license.
+ *
+ */
+
#include "tagreader.h"
#include <stdio.h>
diff --git a/src/tagreader.h b/src/tagreader.h
index 1501274..1508009 100644
--- a/src/tagreader.h
+++ b/src/tagreader.h
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *
+ *
+ *
+ *
+ * Copyright (C) 1997-2000 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * Documents produced by Doxygen are derivative works derived from the
+ * input used in their production; they are not affected by this license.
+ *
+ */
+
#ifndef TAGREADER_H
#define TAGREADER_H
diff --git a/src/util.cpp b/src/util.cpp
index dd04fde..45e1e07 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -114,9 +114,10 @@ void TextGeneratorXMLImpl::writeLink(const char *extRef,const char *file,
/*! Implements an interruptable system call on Unix/Windows */
-int iSystem(const char *command,const char *args)
+int iSystem(const char *command,const char *args,bool isBatchFile)
{
#ifndef _WIN32
+ isBatchFile=isBatchFile;
/*! taken from the system() manpage on my Linux box */
int pid,status;
@@ -149,30 +150,40 @@ int iSystem(const char *command,const char *args)
}
}
#else
- SHELLEXECUTEINFO sInfo = {
- sizeof(SHELLEXECUTEINFO), /* structure size */
- SEE_MASK_NOCLOSEPROCESS, /* leave the process running */
- NULL, /* window handle */
- NULL, /* action to perform: open */
- command, /* file to execute */
- args, /* argument list */
- NULL, /* use current working dir */
- SW_HIDE, /* minimize on start-up */
- 0, /* application instance handle */
- NULL, /* ignored: id list */
- NULL, /* ignored: class name */
- NULL, /* ignored: key class */
- 0, /* ignored: hot key */
- NULL, /* ignored: icon */
- NULL /* resulting application handle */
- };
- if (!ShellExecuteEx(&sInfo))
- {
- return -1;
- }
- else if (sInfo.hProcess) /* executable was launched, wait for it to finish */
- {
- WaitForSingleObject(sInfo.hProcess,INFINITE);
+ if (isBatchFile)
+ {
+ QCString fullCmd = command;
+ fullCmd += " ";
+ fullCmd += args;
+ return system(fullCmd);
+ }
+ else
+ {
+ SHELLEXECUTEINFO sInfo = {
+ sizeof(SHELLEXECUTEINFO), /* structure size */
+ SEE_MASK_NOCLOSEPROCESS, /* leave the process running */
+ NULL, /* window handle */
+ NULL, /* action to perform: open */
+ command, /* file to execute */
+ args, /* argument list */
+ NULL, /* use current working dir */
+ SW_HIDE, /* minimize on start-up */
+ 0, /* application instance handle */
+ NULL, /* ignored: id list */
+ NULL, /* ignored: class name */
+ NULL, /* ignored: key class */
+ 0, /* ignored: hot key */
+ NULL, /* ignored: icon */
+ NULL /* resulting application handle */
+ };
+ if (!ShellExecuteEx(&sInfo))
+ {
+ return -1;
+ }
+ else if (sInfo.hProcess) /* executable was launched, wait for it to finish */
+ {
+ WaitForSingleObject(sInfo.hProcess,INFINITE);
+ }
}
return 0;
//return system(command);
diff --git a/src/util.h b/src/util.h
index 26941b7..91a1a55 100644
--- a/src/util.h
+++ b/src/util.h
@@ -150,7 +150,7 @@ void extractNamespaceName(const QCString &scopeName,
QCString &className,QCString &namespaceName);
QCString insertTemplateSpecifierInScope(const QCString &scope,const QCString &templ);
QCString stripScope(const char *name);
-int iSystem(const char *command,const char *args);
+int iSystem(const char *command,const char *args,bool isBatchFile=FALSE);
#endif