Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
doxverilog
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
doxverilog
Commits
7e81d44c
Commit
7e81d44c
authored
Oct 29, 2006
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.5.1
parent
5e24df52
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
209 additions
and
66 deletions
+209
-66
INSTALL
INSTALL
+2
-2
Makefile.in
Makefile.in
+4
-0
README
README
+2
-2
doxyapp.cpp
addon/doxyapp/doxyapp.cpp
+2
-1
doxywizard.cpp
addon/doxywizard/doxywizard.cpp
+1
-1
configure
configure
+1
-1
classdef.cpp
src/classdef.cpp
+3
-1
docparser.cpp
src/docparser.cpp
+4
-0
doxygen.cpp
src/doxygen.cpp
+62
-24
doxygen.h
src/doxygen.h
+2
-0
entry.cpp
src/entry.cpp
+3
-1
filedef.cpp
src/filedef.cpp
+11
-1
filedef.h
src/filedef.h
+1
-1
latexdocvisitor.cpp
src/latexdocvisitor.cpp
+22
-7
latexgen.cpp
src/latexgen.cpp
+1
-1
lockingptr.h
src/lockingptr.h
+5
-3
memberdef.cpp
src/memberdef.cpp
+1
-1
membergroup.cpp
src/membergroup.cpp
+2
-1
memberlist.cpp
src/memberlist.cpp
+3
-1
namespacedef.cpp
src/namespacedef.cpp
+7
-0
namespacedef.h
src/namespacedef.h
+1
-1
pre.l
src/pre.l
+17
-1
pycode.l
src/pycode.l
+12
-9
pyscanner.l
src/pyscanner.l
+2
-0
util.cpp
src/util.cpp
+15
-2
util.h
src/util.h
+2
-0
Doxygen.vcproj
winbuild/Doxygen.vcproj
+1
-0
Doxytag.vcproj
winbuild/Doxytag.vcproj
+1
-0
Doxywizard.vcproj
winbuild/Doxywizard.vcproj
+19
-4
No files found.
INSTALL
View file @
7e81d44c
DOXYGEN Version 1.5.
0
DOXYGEN Version 1.5.
1
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
17
October 2006)
Dimitri van Heesch (
29
October 2006)
Makefile.in
View file @
7e81d44c
...
...
@@ -140,5 +140,9 @@ rpmbinary: dist
gzip
-9v
$(DISTDIR)
.src.tar
rpmbuild
-tb
$(DISTDIR)
.src.tar.gz
ctags
:
ctags
-f
tags src addon/doxywizard qtools
FORCE
:
README
View file @
7e81d44c
DOXYGEN Version 1.5.
0
DOXYGEN Version 1.5.
1
Please read INSTALL for compilation instructions.
...
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
17
October 2006)
Dimitri van Heesch (dimitri@stack.nl) (
29
October 2006)
addon/doxyapp/doxyapp.cpp
View file @
7e81d44c
...
...
@@ -291,7 +291,8 @@ int main(int argc,char **argv)
}
// remove temporary files
unlink
(
"/tmp/doxygen/doxygen_objdb.tmp"
);
if
(
!
Doxygen
::
objDBFileName
.
isEmpty
())
unlink
(
Doxygen
::
objDBFileName
);
if
(
!
Doxygen
::
entryDBFileName
.
isEmpty
())
unlink
(
Doxygen
::
entryDBFileName
);
// clean up after us
rmdir
(
"/tmp/doxygen"
);
...
...
addon/doxywizard/doxywizard.cpp
View file @
7e81d44c
...
...
@@ -1316,7 +1316,7 @@ void MainWidget::about()
QTextStream
t
(
&
msg
,
IO_WriteOnly
);
t
<<
QString
(
"<qt><center>A tool to configure and run doxygen version "
)
+
versionString
+
" on your source files.</center><p><br>"
"<center>Written by<br> Dimitri van Heesch<br>© 2000-200
5
</center><p>"
"<center>Written by<br> Dimitri van Heesch<br>© 2000-200
6
</center><p>"
"</qt>"
;
QMessageBox
::
about
(
this
,
"Doxygen GUI"
,
msg
);
}
...
...
configure
View file @
7e81d44c
...
...
@@ -17,7 +17,7 @@
doxygen_version_major
=
1
doxygen_version_minor
=
5
doxygen_version_revision
=
0
doxygen_version_revision
=
1
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn
=
NO
...
...
src/classdef.cpp
View file @
7e81d44c
...
...
@@ -3061,7 +3061,9 @@ void ClassDef::addMemberToList(MemberList::ListType lt,MemberDef *md)
ml
->
inSort
(
md
);
else
ml
->
append
(
md
);
md
->
setSectionList
(
this
,
ml
);
// for members in the declaration lists we set the section, needed for member grouping
if
((
ml
->
listType
()
&
MemberList
::
detailedLists
)
==
0
)
md
->
setSectionList
(
this
,
ml
);
}
void
ClassDef
::
writeMemberDeclarations
(
OutputList
&
ol
,
MemberList
::
ListType
lt
,
const
QCString
&
title
,
...
...
src/docparser.cpp
View file @
7e81d44c
...
...
@@ -1674,6 +1674,10 @@ void DocCopy::parse()
g_styleStack
.
clear
();
g_nodeStack
.
clear
();
g_copyStack
.
append
(
def
);
// make sure the descriptions end with a newline, so the parser will correctly
// handle them in all cases.
brief
+=
'\n'
;
doc
+=
'\n'
;
internalValidatingParseDoc
(
this
,
m_children
,
brief
);
internalValidatingParseDoc
(
this
,
m_children
,
doc
);
g_copyStack
.
remove
(
def
);
...
...
src/doxygen.cpp
View file @
7e81d44c
...
...
@@ -72,7 +72,6 @@
#include "store.h"
#include "marshal.h"
#define RECURSE_ENTRYTREE(func,var) \
do { if (var->children()) { \
EntryNavListIterator eli(*var->children()); \
...
...
@@ -85,6 +84,11 @@
#define pclose _pclose
#endif
#if !defined(_WIN32) || defined(__CYGWIN__)
#include <signal.h>
#define HAS_SIGNALS
#endif
// globally accessible variables
ClassSDict
*
Doxygen
::
classSDict
=
0
;
ClassSDict
*
Doxygen
::
hiddenClasses
=
0
;
...
...
@@ -129,6 +133,8 @@ QCString Doxygen::htmlFileExtension;
bool
Doxygen
::
suppressDocWarnings
=
FALSE
;
ObjCache
*
Doxygen
::
symbolCache
=
0
;
Store
*
Doxygen
::
symbolStorage
;
QCString
Doxygen
::
objDBFileName
;
QCString
Doxygen
::
entryDBFileName
;
// locally accessible globals
static
QDict
<
EntryNav
>
classEntries
(
1009
);
...
...
@@ -144,6 +150,7 @@ FileStorage *g_storage = 0;
QCString
spaces
;
void
clearAll
()
{
inputFiles
.
clear
();
...
...
@@ -6299,39 +6306,41 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
if
(
cd
&&
!
name
.
isEmpty
())
// found a enum inside a compound
{
//printf("Enum
`%s'::`%s'\n",cd->name
(),name.data());
//printf("Enum
in class `%s'::`%s'\n",cd->name().data
(),name.data());
fd
=
0
;
mnsd
=
Doxygen
::
memberNameSDict
;
isGlobal
=
FALSE
;
}
else
if
(
nd
&&
!
nd
->
name
().
isEmpty
()
&&
nd
->
name
().
at
(
0
)
!=
'@'
)
// found enum inside namespace
{
//printf("Enum in namespace `%s'::`%s'\n",nd->name().data(),name.data());
mnsd
=
Doxygen
::
functionNameSDict
;
isGlobal
=
TRUE
;
}
else
// found a global enum
{
fd
=
rootNav
->
fileDef
();
//printf("Enum in file `%s': `%s'\n",fd->name().data(),name.data());
mnsd
=
Doxygen
::
functionNameSDict
;
isGlobal
=
TRUE
;
}
if
(
!
name
.
isEmpty
())
{
MemberName
*
mn
=
mnsd
->
find
(
name
);
MemberName
*
mn
=
mnsd
->
find
(
name
);
// for all members with this name
if
(
mn
)
{
MemberNameIterator
mni
(
*
mn
);
MemberDef
*
md
;
for
(
mni
.
toFirst
();
(
md
=
mni
.
current
())
;
++
mni
)
for
(
mni
.
toFirst
();
(
md
=
mni
.
current
())
;
++
mni
)
// for each enum in this list
{
if
(
md
->
isEnumerate
()
&&
rootNav
->
children
())
{
EntryNavListIterator
eli
(
*
rootNav
->
children
());
EntryNavListIterator
eli
(
*
rootNav
->
children
());
// for each enum value
EntryNav
*
e
;
for
(;(
e
=
eli
.
current
());
++
eli
)
{
//printf("e->name=%s isRelated=%d\n",e->name.data(),isRelated);
//printf("e->name=%s isRelated=%d\n",e->name
()
.data(),isRelated);
MemberName
*
fmn
=
0
;
MemberNameSDict
*
emnsd
=
isRelated
?
Doxygen
::
functionNameSDict
:
mnsd
;
if
(
!
e
->
name
().
isEmpty
()
&&
(
fmn
=
(
*
emnsd
)[
e
->
name
()]))
...
...
@@ -6341,9 +6350,10 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
MemberDef
*
fmd
;
for
(
fmni
.
toFirst
();
(
fmd
=
fmni
.
current
())
;
++
fmni
)
{
if
(
fmd
->
isEnumValue
()
)
if
(
fmd
->
isEnumValue
()
&&
fmd
->
getOuterScope
()
==
md
->
getOuterScope
())
// in same scope
{
//printf("found enum value with same name\n");
//printf("found enum value with same name %s in scope %s\n",
// fmd->name().data(),fmd->getOuterScope()->name().data());
if
(
nd
&&
!
nd
->
name
().
isEmpty
()
&&
nd
->
name
().
at
(
0
)
!=
'@'
)
{
NamespaceDef
*
fnd
=
fmd
->
getNamespaceDef
();
...
...
@@ -8208,7 +8218,7 @@ static int readDir(QFileInfo *fi,
{
if
(
errorIfNotExist
)
{
err
(
"
Error
: source %s is not a readable file or directory... skipping.
\n
"
,
cfi
->
absFilePath
().
data
());
err
(
"
Warning
: source %s is not a readable file or directory... skipping.
\n
"
,
cfi
->
absFilePath
().
data
());
}
}
else
if
(
cfi
->
isFile
()
&&
...
...
@@ -8297,7 +8307,7 @@ static int readFileOrDirectory(const char *s,
{
if
(
errorIfNotExist
)
{
err
(
"
Error
: source %s is not a readable file or directory... skipping.
\n
"
,
s
);
err
(
"
Warning
: source %s is not a readable file or directory... skipping.
\n
"
,
s
);
}
}
else
if
(
!
Config_getBool
(
"EXCLUDE_SYMLINKS"
)
||
!
fi
.
isSymLink
())
...
...
@@ -8366,7 +8376,7 @@ static void readFormulaRepository()
int
se
=
line
.
find
(
':'
);
// find name and text separator.
if
(
se
==-
1
)
{
err
(
"
Error
: formula.repository is corrupted!
\n
"
);
err
(
"
Warning
: formula.repository is corrupted!
\n
"
);
break
;
}
else
...
...
@@ -8556,7 +8566,7 @@ void initDoxygen()
setlocale
(
LC_ALL
,
""
);
setlocale
(
LC_NUMERIC
,
"C"
);
#endif
//Doxygen::symbolMap->setAutoDelete(TRUE);
Doxygen
::
runningTime
.
start
();
...
...
@@ -8746,7 +8756,7 @@ void readConfiguration(int argc, char **argv)
QCString
outputLanguage
=
Config_getEnum
(
"OUTPUT_LANGUAGE"
);
if
(
!
setTranslator
(
outputLanguage
))
{
err
(
"
Error
: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
err
(
"
Warning
: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
}
QFile
f
;
...
...
@@ -8794,7 +8804,7 @@ void readConfiguration(int argc, char **argv)
QCString
outputLanguage
=
Config_getEnum
(
"OUTPUT_LANGUAGE"
);
if
(
!
setTranslator
(
outputLanguage
))
{
err
(
"
Error
: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
err
(
"
Warning
: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
}
QFile
f
;
...
...
@@ -8920,7 +8930,7 @@ void checkConfiguration()
QCString
outputLanguage
=
Config_getEnum
(
"OUTPUT_LANGUAGE"
);
if
(
!
setTranslator
(
outputLanguage
))
{
err
(
"
Error
: Output language %s not supported! Using English instead.
\n
"
,
err
(
"
Warning
: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
}
QStrList
&
includePath
=
Config_getList
(
"INCLUDE_PATH"
);
...
...
@@ -8944,6 +8954,24 @@ void checkConfiguration()
}
#ifdef HAS_SIGNALS
static
void
stopDoxygen
(
int
)
{
QDir
thisDir
;
msg
(
"Cleaning up...
\n
"
);
if
(
!
Doxygen
::
entryDBFileName
.
isEmpty
())
{
thisDir
.
remove
(
Doxygen
::
entryDBFileName
);
}
if
(
!
Doxygen
::
objDBFileName
.
isEmpty
())
{
thisDir
.
remove
(
Doxygen
::
objDBFileName
);
}
exit
(
1
);
}
#endif
void
parseInput
()
{
/**************************************************************************
...
...
@@ -8986,9 +9014,19 @@ void parseInput()
// ~2.0 MByte "overhead"
Doxygen
::
symbolStorage
=
new
Store
;
if
(
Doxygen
::
symbolStorage
->
open
(
outputDirectory
+
"/doxygen_objdb.tmp"
)
==-
1
)
#ifdef HAS_SIGNALS
signal
(
SIGINT
,
stopDoxygen
);
#endif
uint
pid
=
iPid
();
Doxygen
::
objDBFileName
.
sprintf
(
"doxygen_objdb_%d.tmp"
,
pid
);
Doxygen
::
objDBFileName
.
prepend
(
outputDirectory
+
"/"
);
Doxygen
::
entryDBFileName
.
sprintf
(
"doxygen_entrydb_%d.tmp"
,
pid
);
Doxygen
::
entryDBFileName
.
prepend
(
outputDirectory
+
"/"
);
if
(
Doxygen
::
symbolStorage
->
open
(
Doxygen
::
objDBFileName
)
==-
1
)
{
err
(
"Failed to open temporary file %s
\n
"
,
(
outputDirectory
+
"/doxygen_objdb.tmp"
)
.
data
());
err
(
"Failed to open temporary file %s
\n
"
,
Doxygen
::
objDBFileName
.
data
());
exit
(
1
);
}
...
...
@@ -9265,11 +9303,11 @@ void parseInput()
**************************************************************************/
g_storage
=
new
FileStorage
;
g_storage
->
setName
(
outputDirectory
+
"/doxygen_entrydb.tmp"
);
g_storage
->
setName
(
Doxygen
::
entryDBFileName
);
if
(
!
g_storage
->
open
(
IO_WriteOnly
))
{
err
(
"Failed to create temporary storage file %s
/doxygen_entrydb.tmp
\n
"
,
outputDirectory
.
data
());
err
(
"Failed to create temporary storage file %s
\n
"
,
Doxygen
::
entryDBFileName
.
data
());
exit
(
1
);
}
Entry
*
root
=
new
Entry
;
...
...
@@ -9294,8 +9332,8 @@ void parseInput()
g_storage
->
close
();
if
(
!
g_storage
->
open
(
IO_ReadOnly
))
{
err
(
"Failed to open temporary storage file %s
/doxygen_entrydb.tmp
for reading"
,
outputDirectory
.
data
());
err
(
"Failed to open temporary storage file %s for reading"
,
Doxygen
::
entryDBFileName
.
data
());
exit
(
1
);
}
...
...
@@ -9430,7 +9468,7 @@ void parseInput()
g_storage
=
0
;
QDir
thisDir
;
thisDir
.
remove
(
outputDirectory
+
"/doxygen_entrydb.tmp"
);
thisDir
.
remove
(
Doxygen
::
entryDBFileName
);
msg
(
"Determining which enums are documented
\n
"
);
findDocumentedEnumValues
();
...
...
@@ -9776,7 +9814,7 @@ void generateOutput()
finializeDocParser
();
Doxygen
::
symbolStorage
->
close
();
QDir
thisDir
;
thisDir
.
remove
(
Config_getString
(
"OUTPUT_DIRECTORY"
)
+
"/doxygen_objdb.tmp"
);
thisDir
.
remove
(
Doxygen
::
objDBFileName
);
Config
::
deleteInstance
();
QTextCodec
::
deleteAllCodecs
();
delete
Doxygen
::
symbolCache
;
...
...
src/doxygen.h
View file @
7e81d44c
...
...
@@ -121,6 +121,8 @@ class Doxygen
static
bool
suppressDocWarnings
;
static
ObjCache
*
symbolCache
;
static
Store
*
symbolStorage
;
static
QCString
objDBFileName
;
static
QCString
entryDBFileName
;
};
void
initDoxygen
();
...
...
src/entry.cpp
View file @
7e81d44c
...
...
@@ -21,6 +21,7 @@
#include "marshal.h"
#include "util.h"
#include "section.h"
#include "doxygen.h"
int
Entry
::
num
=
0
;
...
...
@@ -394,7 +395,8 @@ static bool loadEntry(Entry *e,FileStorage *f)
uint
header
=
unmarshalUInt
(
f
);
if
(
header
!=
HEADER
)
{
printf
(
"Internal error: Invalid header for entry in storage file: %x. Disk full?
\n
"
,
header
);
printf
(
"Internal error: Invalid header %x for entry in storage file %s
\n
"
,
header
,
Doxygen
::
entryDBFileName
.
data
());
exit
(
1
);
}
e
->
protection
=
(
Protection
)
unmarshalInt
(
f
);
...
...
src/filedef.cpp
View file @
7e81d44c
...
...
@@ -840,6 +840,13 @@ void FileDef::addUsingDirective(NamespaceDef *nd)
{
usingDirList
->
append
(
nd
->
qualifiedName
(),
nd
);
}
//printf("%p: FileDef::addUsingDirective: %s:%d\n",this,name().data(),usingDirList->count());
}
NamespaceSDict
*
FileDef
::
getUsedNamespaces
()
const
{
//printf("%p: FileDef::getUsedNamespace: %s:%d\n",this,name().data(),usingDirList?usingDirList->count():0);
return
usingDirList
;
}
void
FileDef
::
addUsingDeclaration
(
Definition
*
d
)
...
...
@@ -917,7 +924,10 @@ void FileDef::addIncludedUsingDirectives()
if
(
usingDirList
==
0
)
usingDirList
=
new
NamespaceSDict
;
//printf("Prepending used namespace %s to the list of file %s\n",
// nd->name().data(),name().data());
usingDirList
->
prepend
(
nd
->
qualifiedName
(),
nd
);
if
(
usingDirList
->
find
(
nd
->
qualifiedName
())
==
0
)
// not yet added
{
usingDirList
->
prepend
(
nd
->
qualifiedName
(),
nd
);
}
}
}
}
...
...
src/filedef.h
View file @
7e81d44c
...
...
@@ -150,7 +150,7 @@ class FileDef : public Definition
DirDef
*
getDirDef
()
const
{
return
dir
;
}
void
addUsingDirective
(
NamespaceDef
*
nd
);
NamespaceSDict
*
getUsedNamespaces
()
const
{
return
usingDirList
;
}
NamespaceSDict
*
getUsedNamespaces
()
const
;
void
addUsingDeclaration
(
Definition
*
def
);
SDict
<
Definition
>
*
getUsedClasses
()
const
{
return
usingDeclList
;
}
void
combineUsingRelations
();
...
...
src/latexdocvisitor.cpp
View file @
7e81d44c
...
...
@@ -1021,18 +1021,33 @@ void LatexDocVisitor::filter(const char *str)
void
LatexDocVisitor
::
startLink
(
const
QString
&
ref
,
const
QString
&
file
,
const
QString
&
anchor
)
{
if
(
ref
.
isEmpty
()
&&
Config_getBool
(
"PDF_HYPERLINKS"
))
if
(
ref
.
isEmpty
()
&&
Config_getBool
(
"PDF_HYPERLINKS"
))
// internal PDF link
{
m_t
<<
"
\\
hyperlink{"
;
if
(
!
file
.
isEmpty
())
m_t
<<
stripPath
(
file
);
if
(
!
file
.
isEmpty
()
&&
!
anchor
.
isEmpty
())
m_t
<<
"_"
;
if
(
!
anchor
.
isEmpty
())
m_t
<<
anchor
;
m_t
<<
"}{"
;
if
(
ref
.
isEmpty
())
{
m_t
<<
"
\\
hyperlink{"
;
if
(
!
file
.
isEmpty
())
m_t
<<
stripPath
(
file
);
if
(
!
file
.
isEmpty
()
&&
!
anchor
.
isEmpty
())
m_t
<<
"_"
;
if
(
!
anchor
.
isEmpty
())
m_t
<<
anchor
;
m_t
<<
"}{"
;
}
else
{
QCString
*
dest
;
m_t
<<
"
\\
href{"
;
if
((
dest
=
Doxygen
::
tagDestinationDict
[
ref
]))
m_t
<<
*
dest
<<
"/"
;
if
(
!
file
.
isEmpty
())
m_t
<<
file
<<
Doxygen
::
htmlFileExtension
;
if
(
!
anchor
.
isEmpty
())
m_t
<<
"#"
<<
anchor
;
m_t
<<
"}{"
;
}
}
else
else
if
(
ref
.
isEmpty
())
// internal non-PDF link
{
m_t
<<
"
\\
doxyref{"
;
}
else
// external link
{
m_t
<<
"{
\\
bf "
;
}
}
void
LatexDocVisitor
::
endLink
(
const
QString
&
ref
,
const
QString
&
file
,
const
QString
&
anchor
)
...
...
src/latexgen.cpp
View file @
7e81d44c
...
...
@@ -1002,7 +1002,7 @@ void LatexGenerator::writeObjectLink(const char *ref, const char *f,
}
else
{
t
<<
"{
\\
bf"
;
t
<<
"{
\\
bf
"
;
docify
(
text
);
t
<<
"}"
;
}
...
...
src/lockingptr.h
View file @
7e81d44c
...
...
@@ -37,15 +37,17 @@ class LockableObj
/*! Returns TRUE if the object is currently locked. */
bool
isLocked
()
const
{
return
m_lockCount
>
0
;
}
protected
:
//VC++6.0 workaround
// protected:
/*! Called when the object is locked. */
virtual
void
lock
()
const
=
0
;
/*! Called when the object is unlocked. */
virtual
void
unlock
()
const
=
0
;
private
:
template
<
class
T
>
friend
class
LockingPtr
;
//VC++6.0 workaround
// private:
// template<class T> friend class LockingPtr;
int
m_lockCount
;
};
...
...
src/memberdef.cpp
View file @
7e81d44c
...
...
@@ -818,7 +818,6 @@ QCString MemberDef::getOutputFileBase() const
"Warning: Internal inconsistency: member %s does not belong to any"
" container!"
,
name
().
data
()
);
exit
(
1
);
return
"dummy"
;
}
else
if
(
separateMemberPages
)
...
...
@@ -2634,6 +2633,7 @@ MemberList *MemberDef::getSectionList(Definition *d) const
void
MemberDef
::
setSectionList
(
Definition
*
d
,
MemberList
*
sl
)
{
makeResident
();
//printf("MemberDef::setSectionList(%p,%p) name=%s\n",d,sl,name().data());
char
key
[
20
];
sprintf
(
key
,
"%p"
,
d
);
if
(
m_impl
->
classSectionSDict
==
0
)
...
...
src/membergroup.cpp
View file @
7e81d44c
...
...
@@ -79,6 +79,7 @@ void MemberGroup::insertMember(MemberDef *md)
else
if
(
inDeclSection
==
0
)
{
inDeclSection
=
md
->
getSectionList
(
m_parent
);
//printf("inDeclSection=%p type=%d\n",inDeclSection,inDeclSection->listType());
}
memberList
->
append
(
md
);
...
...
@@ -133,7 +134,7 @@ void MemberGroup::addToDeclarationSection()
{
if
(
inDeclSection
)
{
//printf("Adding group %p to list %p
\n",this,inDeclSection
);
//printf("Adding group %p to list %p
(type=%d)\n",this,inDeclSection,inDeclSection->listType()
);
inDeclSection
->
addMemberGroup
(
this
);
}
}
...
...
src/memberlist.cpp
View file @
7e81d44c
...
...
@@ -313,7 +313,7 @@ void MemberList::writeDeclarations(OutputList &ol,
const
char
*
title
,
const
char
*
subtitle
,
bool
showEnumValues
/*, bool inGroup,bool countSubGroups*/
)
{
//printf("----- writeDeclaration()
----\n"
);
//printf("----- writeDeclaration()
this=%p ----\n",this
);
countDecMembers
(
showEnumValues
);
// count member not in group
if
(
numDecMembers
()
==
0
)
return
;
//printf("%p: MemberList::writeDeclaration(title=`%s',subtitle=`%s')=%d\n",
...
...
@@ -341,6 +341,7 @@ void MemberList::writeDeclarations(OutputList &ol,
MemberGroup
*
mg
;
while
((
mg
=
mgli
.
current
()))
{
//printf("mg->header=%s\n",mg->header().data());
bool
hasHeader
=
mg
->
header
()
!=
"[NOHEADER]"
;
ol
.
startMemberGroupHeader
(
hasHeader
);
if
(
hasHeader
)
...
...
@@ -450,6 +451,7 @@ void MemberList::addMemberGroup(MemberGroup *mg)
{
memberGroupList
=
new
MemberGroupList
;
}
//printf("addMemberGroup: this=%p mg=%p\n",this,mg);
memberGroupList
->
append
(
mg
);
}
...
...
src/namespacedef.cpp
View file @
7e81d44c
...
...
@@ -483,6 +483,13 @@ void NamespaceDef::addUsingDirective(NamespaceDef *nd)
{
usingDirList
->
append
(
nd
->
qualifiedName
(),
nd
);
}
//printf("%p: NamespaceDef::addUsingDirective: %s:%d\n",this,name().data(),usingDirList->count());
}
NamespaceSDict
*
NamespaceDef
::
getUsedNamespaces
()
const
{
//printf("%p: NamespaceDef::getUsedNamespace: %s:%d\n",this,name().data(),usingDirList?usingDirList->count():0);
return
usingDirList
;
}
void
NamespaceDef
::
addUsingDeclaration
(
Definition
*
d
)
...
...
src/namespacedef.h
View file @
7e81d44c
...
...
@@ -58,7 +58,7 @@ class NamespaceDef : public Definition
void
computeAnchors
();
int
countMembers
();
void
addUsingDirective
(
NamespaceDef
*
nd
);
NamespaceSDict
*
getUsedNamespaces
()
const
{
return
usingDirList
;
}
NamespaceSDict
*
getUsedNamespaces
()
const
;
void
addUsingDeclaration
(
Definition
*
def
);
SDict
<
Definition
>
*
getUsedClasses
()
const
{
return
usingDeclList
;
}
void
combineUsingRelations
();
...
...
src/pre.l
View file @
7e81d44c
...
...
@@ -1222,6 +1222,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
%x CopyString
%x Include
%x IncludeID
%x EndImport
%x DefName
%x DefineArg
%x DefineText
...
...
@@ -1700,7 +1701,22 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<Include>[^\">\n]+[\">] {
g_incName+=yytext;
readIncludeFile(g_incName);
BEGIN(Start);
if (g_isImported)
{
BEGIN(EndImport);
}
else
{
BEGIN(Start);
}
}
<EndImport>[^\\]*/\n {
BEGIN(Start);
}
<EndImport>\\[\r]?"\n" {
outputChar('\n');
}
<EndImport>. {
}
<DefName>{ID}/"(" {
//printf("Define() `%s'\n",yytext);
...
...
src/pycode.l
View file @
7e81d44c
...
...
@@ -755,18 +755,21 @@ static void findMemberLink(CodeOutputInterface &ol,char *symName)
if (g_currentDefinition)
{
DefinitionIntf *di = Doxygen::symbolMap->find(symName);
if (di
->definitionType()==DefinitionIntf::TypeSymbolList) // multiple symbols
if (di
)
{
DefinitionListIterator dli(*(DefinitionList*)di);
Definition *sym;
for (dli.toFirst();(sym=dli.current());++dli)
if (di->definitionType()==DefinitionIntf::TypeSymbolList) // multiple symbols
{
findMemberLink(ol,sym,symName);
DefinitionListIterator dli(*(DefinitionList*)di);
Definition *sym;
for (dli.toFirst();(sym=dli.current());++dli)
{
findMemberLink(ol,sym,symName);
}
}
else // single symbol
{
findMemberLink(ol,(Definition*)di,symName);
}
}
else // single symbol
{
findMemberLink(ol,(Definition*)di,symName);
}
}
//printf("sym %s not found\n",&yytext[5]);
...
...
src/pyscanner.l
View file @
7e81d44c
...
...
@@ -797,11 +797,13 @@ STARTDOCSYMS ^{B}"##"/[^#]
}
{TRIDOUBLEQUOTE} { // start of a comment block
current->program+=yytext;
initTriDoubleQuoteBlock();
BEGIN(TripleComment);
}
{TRISINGLEQUOTE} { // start of a comment block
current->program+=yytext;
initTriSingleQuoteBlock();
BEGIN(TripleComment);
}
...
...
src/util.cpp
View file @
7e81d44c
...
...
@@ -254,6 +254,17 @@ int iSystem(const char *command,const char *args,bool commandHasConsole)
}
uint
iPid
()
{
uint
pid
;
#if !defined(_WIN32) || defined(__CYGWIN__)
pid
=
(
uint
)
getpid
();
#else
pid
=
(
uint
)
GetCurrentProcessId
();
#endif
return
pid
;
}
...
...
@@ -886,9 +897,11 @@ bool accessibleViaUsingNamespace(const NamespaceSDict *nl,
{
NamespaceSDict
::
Iterator
nli
(
*
nl
);
NamespaceDef
*
und
;
for
(
nli
.
toFirst
();(
und
=
nli
.
current
());
++
nli
)
int
count
=
0
;
for
(
nli
.
toFirst
();(
und
=
nli
.
current
());
++
nli
,
count
++
)
{
//printf("[Trying via used namespace %s\n",und->name().data());
//printf("[Trying via used namespace %s: count=%d/%d\n",und->name().data(),
// count,nl->count());
Definition
*
sc
=
explicitScopePart
.
isEmpty
()
?
und
:
followPath
(
und
,
fileScope
,
explicitScopePart
);
if
(
sc
&&
item
->
getOuterScope
()
==
sc
)
{
...
...
src/util.h
View file @
7e81d44c
...
...
@@ -235,6 +235,8 @@ QCString stripScope(const char *name);
int
iSystem
(
const
char
*
command
,
const
char
*
args
,
bool
commandHasConsole
=
TRUE
);
uint
iPid
();
QCString
convertToHtml
(
const
char
*
s
);
QCString
convertToXML
(
const
char
*
s
);
...
...
winbuild/Doxygen.vcproj
View file @
7e81d44c
...
...
@@ -76,6 +76,7 @@
LinkIncremental=
"2"
SuppressStartupBanner=
"true"
AdditionalLibraryDirectories=
"Debug"
GenerateManifest=
"false"
GenerateDebugInformation=
"true"
ProgramDatabaseFile=
".\Debug/Doxygen.pdb"
SubSystem=
"1"
...
...
winbuild/Doxytag.vcproj
View file @
7e81d44c
...
...
@@ -74,6 +74,7 @@
LinkIncremental=
"2"
SuppressStartupBanner=
"true"
AdditionalLibraryDirectories=
"Debug"
GenerateManifest=
"false"
GenerateDebugInformation=
"true"
ProgramDatabaseFile=
".\Debug/Doxytag.pdb"
SubSystem=
"1"
...
...
winbuild/Doxywizard.vcproj
View file @
7e81d44c
...
...
@@ -46,11 +46,12 @@
<Tool
Name=
"VCCLCompilerTool"
Optimization=
"0"
PreprocessorDefinitions=
"WIN32;_DEBUG;_WINDOWS"
AdditionalIncludeDirectories=
"$(QTDIR)\include;..\src"
PreprocessorDefinitions=
"WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild=
"true"
BasicRuntimeChecks=
"3"
RuntimeLibrary=
"
3
"
UsePrecompiledHeader=
"
2
"
RuntimeLibrary=
"
1
"
UsePrecompiledHeader=
"
0
"
WarningLevel=
"3"
Detect64BitPortabilityProblems=
"true"
DebugInformationFormat=
"4"
...
...
@@ -66,8 +67,11 @@
/>
<Tool
Name=
"VCLinkerTool"
AdditionalDependencies=
"$(QTDIR)\lib\qt-mt336.lib $(QTDIR)\lib\qtmain.lib"
OutputFile=
"..\bin\Debug\doxywizard.exe"
LinkIncremental=
"2"
GenerateManifest=
"false"
IgnoreDefaultLibraryNames=
"msvcrt.lib"
GenerateDebugInformation=
"true"
SubSystem=
"2"
TargetMachine=
"1"
...
...
@@ -127,7 +131,7 @@
Name=
"VCCLCompilerTool"
AdditionalIncludeDirectories=
"$(QTDIR)\include;..\src"
PreprocessorDefinitions=
"WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary=
"
2
"
RuntimeLibrary=
"
0
"
UsePrecompiledHeader=
"0"
WarningLevel=
"3"
Detect64BitPortabilityProblems=
"true"
...
...
@@ -148,6 +152,9 @@
AdditionalDependencies=
"$(QTDIR)\lib\qt-mt336.lib $(QTDIR)\lib\qtmain.lib"
OutputFile=
"..\bin\doxywizard.exe"
LinkIncremental=
"1"
GenerateManifest=
"false"
IgnoreAllDefaultLibraries=
"false"
IgnoreDefaultLibraryNames=
"msvcrt.lib"
GenerateDebugInformation=
"false"
SubSystem=
"2"
OptimizeReferences=
"2"
...
...
@@ -292,6 +299,14 @@
>
</File>
</Filter>
<Filter
Name=
"Resources"
>
<File
RelativePath=
"..\addon\doxywizard\doxywizard.res"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment