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
2f0a01b6
Commit
2f0a01b6
authored
Apr 20, 2008
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.5.5-20080420
parent
238c63a1
Changes
37
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
1931 additions
and
695 deletions
+1931
-695
INSTALL
INSTALL
+2
-2
Makefile.in
Makefile.in
+3
-6
README
README
+2
-2
Makefile.in
addon/doxywizard/Makefile.in
+6
-0
configure
configure
+7
-7
commands.doc
doc/commands.doc
+13
-2
config.doc
doc/config.doc
+44
-3
doxywizard_usage.doc
doc/doxywizard_usage.doc
+1
-1
language.doc
doc/language.doc
+4
-4
maintainers.txt
doc/maintainers.txt
+1
-1
translator_report.txt
doc/translator_report.txt
+2
-140
doxygen-nodoxywizard.spec.in
packages/rpm/doxygen-nodoxywizard.spec.in
+0
-71
doxygen.spec.in
packages/rpm/doxygen.spec.in
+12
-2
classdef.cpp
src/classdef.cpp
+20
-2
classdef.h
src/classdef.h
+1
-0
config.l
src/config.l
+52
-36
defargs.l
src/defargs.l
+1
-1
defgen.cpp
src/defgen.cpp
+1
-1
diagram.cpp
src/diagram.cpp
+3
-1
docparser.cpp
src/docparser.cpp
+5
-2
dot.cpp
src/dot.cpp
+1
-0
doxygen.cpp
src/doxygen.cpp
+20
-4
filedef.cpp
src/filedef.cpp
+1
-1
formula.cpp
src/formula.cpp
+4
-1
groupdef.cpp
src/groupdef.cpp
+0
-51
index.cpp
src/index.cpp
+0
-1
language.cpp
src/language.cpp
+1
-1
memberdef.cpp
src/memberdef.cpp
+9
-5
membergroup.cpp
src/membergroup.cpp
+21
-8
perlmodgen.cpp
src/perlmodgen.cpp
+1
-1
scanner.l
src/scanner.l
+32
-4
translator_fi.h
src/translator_fi.h
+1636
-323
translator_fr.h
src/translator_fr.h
+1
-1
util.cpp
src/util.cpp
+4
-0
vhdldocgen.cpp
src/vhdldocgen.cpp
+2
-2
vhdlscanner.l
src/vhdlscanner.l
+17
-7
xmlgen.cpp
src/xmlgen.cpp
+1
-1
No files found.
INSTALL
View file @
2f0a01b6
DOXYGEN Version 1.5.5-20080
325
DOXYGEN Version 1.5.5-20080
420
Please read the installation section of the manual
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
(http://www.doxygen.org/install.html) for instructions.
--------
--------
Dimitri van Heesch (2
5 March
2008)
Dimitri van Heesch (2
0 April
2008)
Makefile.in
View file @
2f0a01b6
...
@@ -63,9 +63,6 @@ install: doxywizard_install
...
@@ -63,9 +63,6 @@ install: doxywizard_install
cat
doc/doxytag.1 |
sed
-e
"s/DATE/
$(DATE)
/g"
-e
"s/VERSION/
$(VERSION)
/g"
>
doxytag.1
cat
doc/doxytag.1 |
sed
-e
"s/DATE/
$(DATE)
/g"
-e
"s/VERSION/
$(VERSION)
/g"
>
doxytag.1
$(INSTTOOL)
-m
644 doxytag.1
$(INSTALL)
/
$(MAN1DIR)
/doxytag.1
$(INSTTOOL)
-m
644 doxytag.1
$(INSTALL)
/
$(MAN1DIR)
/doxytag.1
rm
doxytag.1
rm
doxytag.1
cat
doc/doxywizard.1 |
sed
-e
"s/DATE/
$(DATE)
/g"
-e
"s/VERSION/
$(VERSION)
/g"
>
doxywizard.1
$(INSTTOOL)
-m
644 doxywizard.1
$(INSTALL)
/
$(MAN1DIR)
/doxywizard.1
rm
doxywizard.1
install_docs
:
install_docs
:
$(INSTTOOL)
-d
$(DOCDIR)
$(INSTTOOL)
-d
$(DOCDIR)
...
@@ -118,7 +115,7 @@ rpm: dist
...
@@ -118,7 +115,7 @@ rpm: dist
tar
-rvf
$(DISTDIR)
.src.tar
$(DISTDIR)
/packages/rpm/doxygen.spec
tar
-rvf
$(DISTDIR)
.src.tar
$(DISTDIR)
/packages/rpm/doxygen.spec
rm
-rf
$(DISTDIR)
rm
-rf
$(DISTDIR)
gzip
-9v
$(DISTDIR)
.src.tar
gzip
-9v
$(DISTDIR)
.src.tar
rpmbuild
-ta
$(DISTDIR)
.src.tar.gz
rpmbuild
-ta
%%WITHDOXYWIZARD%%
$(DISTDIR)
.src.tar.gz
rpmsrc
:
dist
rpmsrc
:
dist
gzip
-df
$(DISTDIR)
.src.tar.gz
gzip
-df
$(DISTDIR)
.src.tar.gz
...
@@ -129,7 +126,7 @@ rpmsrc: dist
...
@@ -129,7 +126,7 @@ rpmsrc: dist
tar
-rvf
$(DISTDIR)
.src.tar
$(DISTDIR)
/packages/rpm/doxygen.spec
tar
-rvf
$(DISTDIR)
.src.tar
$(DISTDIR)
/packages/rpm/doxygen.spec
rm
-rf
$(DISTDIR)
rm
-rf
$(DISTDIR)
gzip
-9v
$(DISTDIR)
.src.tar
gzip
-9v
$(DISTDIR)
.src.tar
rpmbuild
-ts
$(DISTDIR)
.src.tar.gz
rpmbuild
-ts
%%WITHDOXYWIZARD%%
$(DISTDIR)
.src.tar.gz
rpmbinary
:
dist
rpmbinary
:
dist
gzip
-df
$(DISTDIR)
.src.tar.gz
gzip
-df
$(DISTDIR)
.src.tar.gz
...
@@ -140,7 +137,7 @@ rpmbinary: dist
...
@@ -140,7 +137,7 @@ rpmbinary: dist
tar
-rvf
$(DISTDIR)
.src.tar
$(DISTDIR)
/packages/rpm/doxygen.spec
tar
-rvf
$(DISTDIR)
.src.tar
$(DISTDIR)
/packages/rpm/doxygen.spec
rm
-rf
$(DISTDIR)
rm
-rf
$(DISTDIR)
gzip
-9v
$(DISTDIR)
.src.tar
gzip
-9v
$(DISTDIR)
.src.tar
rpmbuild
-tb
$(DISTDIR)
.src.tar.gz
rpmbuild
-tb
%%WITHDOXYWIZARD%%
$(DISTDIR)
.src.tar.gz
ctags
:
ctags
:
...
...
README
View file @
2f0a01b6
DOXYGEN Version 1.5.5_20080
325
DOXYGEN Version 1.5.5_20080
420
Please read INSTALL for compilation instructions.
Please read INSTALL for compilation instructions.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (2
5 March
2008)
Dimitri van Heesch (dimitri@stack.nl) (2
0 April
2008)
addon/doxywizard/Makefile.in
View file @
2f0a01b6
...
@@ -41,8 +41,14 @@ clean: Makefile.doxywizard
...
@@ -41,8 +41,14 @@ clean: Makefile.doxywizard
distclean
:
clean
distclean
:
clean
$(RM)
Makefile.doxywizard version.cpp config.l config.h portable.h portable.cpp
$(RM)
Makefile.doxywizard version.cpp config.l config.h portable.h portable.cpp
MAN1DIR
=
man/man1
install
:
install
:
$(INSTTOOL)
-d
$(INSTALL)
/bin
$(INSTTOOL)
-d
$(INSTALL)
/bin
$(INSTTOOL)
-m
755 ../../bin/doxywizard
$(INSTALL)
/bin
$(INSTTOOL)
-m
755 ../../bin/doxywizard
$(INSTALL)
/bin
$(INSTTOOL)
-d
$(INSTALL)
/
$(MAN1DIR)
cat
../../doc/doxywizard.1 |
sed
-e
"s/DATE/
$(DATE)
/g"
-e
"s/VERSION/
$(VERSION)
/g"
>
doxywizard.1
$(INSTTOOL)
-m
644 doxywizard.1
$(INSTALL)
/
$(MAN1DIR)
/doxywizard.1
rm
doxywizard.1
FORCE
:
FORCE
:
configure
View file @
2f0a01b6
...
@@ -20,7 +20,7 @@ doxygen_version_minor=5
...
@@ -20,7 +20,7 @@ doxygen_version_minor=5
doxygen_version_revision
=
5
doxygen_version_revision
=
5
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn
=
20080
325
doxygen_version_mmn
=
20080
420
bin_dirs
=
`
echo
$PATH
|
sed
-e
"s/:/ /g"
`
bin_dirs
=
`
echo
$PATH
|
sed
-e
"s/:/ /g"
`
...
@@ -537,11 +537,7 @@ fi
...
@@ -537,11 +537,7 @@ fi
mkdir
-p
packages
mkdir
-p
packages
mkdir
-p
packages/rpm
mkdir
-p
packages/rpm
if
test
"
$f_wizard
"
=
YES
;
then
cat
spec.tmp ./packages/rpm/doxygen.spec.in
>
./packages/rpm/doxygen.spec
cat
spec.tmp ./packages/rpm/doxygen.spec.in
>
./packages/rpm/doxygen.spec
else
cat
spec.tmp ./packages/rpm/doxygen-nodoxywizard.spec.in
>
./packages/rpm/doxygen.spec
fi
rm
-f
spec.tmp
rm
-f
spec.tmp
...
@@ -633,7 +629,11 @@ EOF
...
@@ -633,7 +629,11 @@ EOF
fi
fi
echo
""
>>
$DST
echo
""
>>
$DST
fi
fi
cat
$SRC
>>
$DST
if
test
$f_wizard
=
YES
;
then
sed
-e
"s/%%WITHDOXYWIZARD%% /--with doxywizard /g"
$SRC
>>
$DST
else
sed
-e
"s/%%WITHDOXYWIZARD%% //g"
$SRC
>>
$DST
fi
echo
" Created
$DST
from
$SRC
..."
echo
" Created
$DST
from
$SRC
..."
done
done
...
...
doc/commands.doc
View file @
2f0a01b6
...
@@ -54,7 +54,7 @@ documentation:
...
@@ -54,7 +54,7 @@ documentation:
\refitem cmdcode \\code
\refitem cmdcode \\code
\refitem cmdcond \\cond
\refitem cmdcond \\cond
\refitem cmdcopybrief \\copybrief
\refitem cmdcopybrief \\copybrief
\refitem cmdcopyde
f
ails \\copydetails
\refitem cmdcopyde
t
ails \\copydetails
\refitem cmdcopydoc \\copydoc
\refitem cmdcopydoc \\copydoc
\refitem cmddate \\date
\refitem cmddate \\date
\refitem cmddef \\def
\refitem cmddef \\def
...
@@ -152,6 +152,7 @@ documentation:
...
@@ -152,6 +152,7 @@ documentation:
\refitem cmdtest \\test
\refitem cmdtest \\test
\refitem cmdthrow \\throw
\refitem cmdthrow \\throw
\refitem cmdtodo \\todo
\refitem cmdtodo \\todo
\refitem cmdtparam \\tparam
\refitem cmdtypedef \\typedef
\refitem cmdtypedef \\typedef
\refitem cmdunion \\union
\refitem cmdunion \\union
\refitem cmduntil \\until
\refitem cmduntil \\until
...
@@ -1087,7 +1088,7 @@ ALIASES = "english=\if english" \
...
@@ -1087,7 +1088,7 @@ ALIASES = "english=\if english" \
\addindex \\param
\addindex \\param
Starts a parameter description for a function parameter with name
Starts a parameter description for a function parameter with name
\<parameter-name\>
. F
ollowed by a description of the parameter.
\<parameter-name\>
, f
ollowed by a description of the parameter.
The existence of the parameter is checked and a warning is given if
The existence of the parameter is checked and a warning is given if
the documentation of this (or any other) parameter is missing or not
the documentation of this (or any other) parameter is missing or not
present in the function declaration or definition.
present in the function declaration or definition.
...
@@ -1116,6 +1117,16 @@ void memcpy(void *dest, const void *src, size_t n);
...
@@ -1116,6 +1117,16 @@ void memcpy(void *dest, const void *src, size_t n);
sectioning command is encountered. See section \ref cmdfn "\\fn" for an
sectioning command is encountered. See section \ref cmdfn "\\fn" for an
example.
example.
<hr>
\section cmdtparam \\tparam <template-parameter-name> { description }
\addindex \\tparam
Starts a template parameters for a class or function template parameter
with name \<template-parameter-name\>, followed by a description of the
template parameter.
Otherwise similar to \ref cmdparam "\\cmdparam".
<hr>
<hr>
\section cmdpost \\post { description of the postcondition }
\section cmdpost \\post { description of the postcondition }
...
...
doc/config.doc
View file @
2f0a01b6
...
@@ -113,6 +113,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -113,6 +113,7 @@ followed by the descriptions of the tags grouped by category.
\
refitem
cfg_file_version_filter
FILE_VERSION_FILTER
\
refitem
cfg_file_version_filter
FILE_VERSION_FILTER
\
refitem
cfg_filter_patterns
FILTER_PATTERNS
\
refitem
cfg_filter_patterns
FILTER_PATTERNS
\
refitem
cfg_filter_source_files
FILTER_SOURCE_FILES
\
refitem
cfg_filter_source_files
FILTER_SOURCE_FILES
\
refitem
cfg_formula_fontsize
FORMULA_FONTSIZE
\
refitem
cfg_full_path_names
FULL_PATH_NAMES
\
refitem
cfg_full_path_names
FULL_PATH_NAMES
\
refitem
cfg_generate_autogen_def
GENERATE_AUTOGEN_DEF
\
refitem
cfg_generate_autogen_def
GENERATE_AUTOGEN_DEF
\
refitem
cfg_generate_buglist
GENERATE_BUGLIST
\
refitem
cfg_generate_buglist
GENERATE_BUGLIST
...
@@ -147,6 +148,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -147,6 +148,7 @@ followed by the descriptions of the tags grouped by category.
\
refitem
cfg_html_header
HTML_HEADER
\
refitem
cfg_html_header
HTML_HEADER
\
refitem
cfg_html_output
HTML_OUTPUT
\
refitem
cfg_html_output
HTML_OUTPUT
\
refitem
cfg_html_stylesheet
HTML_STYLESHEET
\
refitem
cfg_html_stylesheet
HTML_STYLESHEET
\
refitem
cfg_idl_property_support
IDL_PROPERTY_SUPPORT
\
refitem
cfg_ignore_prefix
IGNORE_PREFIX
\
refitem
cfg_ignore_prefix
IGNORE_PREFIX
\
refitem
cfg_image_path
IMAGE_PATH
\
refitem
cfg_image_path
IMAGE_PATH
\
refitem
cfg_include_graph
INCLUDE_GRAPH
\
refitem
cfg_include_graph
INCLUDE_GRAPH
...
@@ -445,6 +447,16 @@ followed by the descriptions of the tags grouped by category.
...
@@ -445,6 +447,16 @@ followed by the descriptions of the tags grouped by category.
Doxygen
will
parse
them
like
normal
C
++
but
will
assume
all
classes
use
public
Doxygen
will
parse
them
like
normal
C
++
but
will
assume
all
classes
use
public
instead
of
private
inheritance
when
no
explicit
protection
keyword
is
present
.
instead
of
private
inheritance
when
no
explicit
protection
keyword
is
present
.
\
anchor
cfg_idl_property_support
<
dt
>\
c
IDL_PROPERTY_SUPPORT
<
dd
>
\
addindex
IDL_PROPERTY_SUPPORT
For
Microsoft
's IDL there are propget and propput attributes to indicate getter
and setter methods for a property. Setting this option to \c YES (the default)
will make doxygen to replace the get and set methods by a property in the
documentation. This will only work if the methods are indeed getting or
setting a simple type. If this is not the case, or you want to show the
methods anyway, you should set this option to \c NO.
\anchor cfg_distribute_group_doc
\anchor cfg_distribute_group_doc
<dt>\c DISTRIBUTE_GROUP_DOC <dd>
<dt>\c DISTRIBUTE_GROUP_DOC <dd>
\addindex DISTRIBUTE_GROUP_DOC
\addindex DISTRIBUTE_GROUP_DOC
...
@@ -1038,14 +1050,14 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
...
@@ -1038,14 +1050,14 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
\
anchor
cfg_referenced_by_relation
\
anchor
cfg_referenced_by_relation
<
dt
>\
c
REFERENCED_BY_RELATION
<
dd
>
<
dt
>\
c
REFERENCED_BY_RELATION
<
dd
>
\
addindex
REFERENCED_BY_RELATION
\
addindex
REFERENCED_BY_RELATION
If
the
\
c
REFERENCED_BY_RELATION
tag
is
set
to
\
c
YES
(
the
default
)
If
the
\
c
REFERENCED_BY_RELATION
tag
is
set
to
\
c
YES
then
for
each
documented
function
all
documented
then
for
each
documented
function
all
documented
functions
referencing
it
will
be
listed
.
functions
referencing
it
will
be
listed
.
\
anchor
cfg_references_relation
\
anchor
cfg_references_relation
<
dt
>\
c
REFERENCES_RELATION
<
dd
>
<
dt
>\
c
REFERENCES_RELATION
<
dd
>
\
addindex
REFERENCES_RELATION
\
addindex
REFERENCES_RELATION
If
the
\
c
REFERENCES_RELATION
tag
is
set
to
\
c
YES
(
the
default
)
If
the
\
c
REFERENCES_RELATION
tag
is
set
to
\
c
YES
then
for
each
documented
function
all
documented
entities
then
for
each
documented
function
all
documented
entities
called
/
used
by
that
function
will
be
listed
.
called
/
used
by
that
function
will
be
listed
.
...
@@ -1353,6 +1365,15 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
...
@@ -1353,6 +1365,15 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
used
to
set
the
initial
width
(
in
pixels
)
of
the
frame
in
which
the
tree
used
to
set
the
initial
width
(
in
pixels
)
of
the
frame
in
which
the
tree
is
shown
.
is
shown
.
\
anchor
cfg_formula_fontsize
<
dt
>\
c
FORMULA_FONTSIZE
<
dd
>
\
addindex
FORMULA_FONTSIZE
Use
this
tag
to
change
the
font
size
of
Latex
formulas
included
as
images
in
the
HTML
documentation
.
The
default
is
10.
when
you
change
the
font
size
after
a
successful
doxygen
run
you
need
to
manually
remove
any
<
code
>
form_
*.
png
</
code
>
images
from
the
HTML
output
directory
to
force
them
to
be
regenerated
.
</
dl
>
</
dl
>
\
section
latex_output
LaTeX
related
options
\
section
latex_output
LaTeX
related
options
\
anchor
cfg_generate_latex
\
anchor
cfg_generate_latex
...
@@ -1815,6 +1836,26 @@ TAGFILES = file1=loc1 "file2 = loc2" ... </pre>
...
@@ -1815,6 +1836,26 @@ TAGFILES = file1=loc1 "file2 = loc2" ... </pre>
<
a
href
=
"http://www.research.att.com/sw/tools/graphviz/"
>
Graphviz
</
a
>,
a
graph
<
a
href
=
"http://www.research.att.com/sw/tools/graphviz/"
>
Graphviz
</
a
>,
a
graph
visualization
toolkit
from
AT
\&
T
and
Lucent
Bell
Labs
.
The
other
options
in
visualization
toolkit
from
AT
\&
T
and
Lucent
Bell
Labs
.
The
other
options
in
this
section
have
no
effect
if
this
option
is
set
to
\
c
NO
(
the
default
)
this
section
have
no
effect
if
this
option
is
set
to
\
c
NO
(
the
default
)
\
anchor
cfg_dot_fontname
<
dt
>\
c
DOT_FONTNAME
<
dd
>
\
addindex
DOT_FONTNAME
By
default
doxygen
will
write
a
font
called
\
c
FreeSans
.
ttf
to
the
output
directory
and
reference
it
in
all
dot
files
that
doxygen
generates
.
This
font
does
not
include
all
possible
unicode
characters
however
,
so
when
you
need
these
(
or
just
want
a
differently
looking
font
)
you
can
specify
the
font
name
using
\
c
DOT_FONTNAME
.
You
need
need
to
make
sure
dot
is
able
to
find
the
font
,
which
can
be
done
by
putting
it
in
a
standard
location
or
by
setting
the
\
c
DOTFONTPATH
environment
variable
or
by
setting
\
c
DOT_FONTPATH
to
the
directory
containing
the
font
.
\
anchor
cfg_dot_fontpath
<
dt
>\
c
DOT_FONTPATH
<
dd
>
\
addindex
DOT_FONTPATH
By
default
doxygen
will
tell
dot
to
use
the
output
directory
to
look
for
the
\
c
FreeSans
.
ttf
font
(
which
doxygen
will
put
there
itself
).
If
you
specify
a
different
font
using
\
c
DOT_FONTNAME
you
can
set
the
path
where
dot
can
find
it
using
this
tag
.
<
dt
>\
c
DOT_FONTNAME
<
dd
>
<
dt
>\
c
DOT_FONTNAME
<
dd
>
\
addindex
DOT_FONTNAME
\
addindex
DOT_FONTNAME
...
@@ -1927,7 +1968,7 @@ TAGFILES = file1=loc1 "file2 = loc2" ... </pre>
...
@@ -1927,7 +1968,7 @@ TAGFILES = file1=loc1 "file2 = loc2" ... </pre>
\anchor cfg_dot_graph_max_nodes
\anchor cfg_dot_graph_max_nodes
<dt>\c DOT_GRAPH_MAX_NODES <dd>
<dt>\c DOT_GRAPH_MAX_NODES <dd>
\addindex DOT_GRAPH_MAX_NODES
\addindex DOT_GRAPH_MAX_NODES
The \c
MAX_
DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
The \c DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
nodes that will be shown in the graph. If the number of nodes in a graph
nodes that will be shown in the graph. If the number of nodes in a graph
becomes larger than this value, doxygen will truncate the graph, which is
becomes larger than this value, doxygen will truncate the graph, which is
visualized by representing a node as a red box. Note that doxygen if the number
visualized by representing a node as a red box. Note that doxygen if the number
...
...
doc/doxywizard_usage.doc
View file @
2f0a01b6
...
@@ -81,7 +81,7 @@ produce. For HTML and LaTeX there are additional options.
...
@@ -81,7 +81,7 @@ produce. For HTML and LaTeX there are additional options.
Doxygen can produce a number of diagrams. Using the diagrams tab you
Doxygen can produce a number of diagrams. Using the diagrams tab you
can select which ones to generate. For most diagrams the
can select which ones to generate. For most diagrams the
dot tool of the <a href="http://www.graphviz.org">GraphViz</a> package
dot tool of the <a href="http://www.graphviz.org">GraphViz</a> package
is needed (if you use the binary packages for Mac
or Windows
this
is needed (if you use the binary packages for Mac
OSX
this
tool is already included).
tool is already included).
<h3>Expert dialog</h3>
<h3>Expert dialog</h3>
...
...
doc/language.doc
View file @
2f0a01b6
...
@@ -119,9 +119,9 @@ when the translator was updated.
...
@@ -119,9 +119,9 @@ when the translator was updated.
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Finnish</td>
<td>Finnish</td>
<td>
Olli Korhonen
</td>
<td>
Antti Laine
</td>
<td>
olli.korhonen lost at cyberspace
</td>
<td>
antti.a.laine at tut dot fi
</td>
<td>
obsole
te</td>
<td>
up-to-da
te</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>French</td>
<td>French</td>
...
@@ -307,7 +307,7 @@ when the translator was updated.
...
@@ -307,7 +307,7 @@ when the translator was updated.
\hline
\hline
English & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} & up-to-date \\
English & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} & up-to-date \\
\hline
\hline
Finnish &
Olli Korhonen & {\tt\tiny olli.korhonen lost@cyberspace} & obsole
te \\
Finnish &
Antti Laine & {\tt\tiny antti.a.laine@tut.fi} & up-to-da
te \\
\hline
\hline
French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & 1.5.4 \\
French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & 1.5.4 \\
\hline
\hline
...
...
doc/maintainers.txt
View file @
2f0a01b6
...
@@ -46,7 +46,7 @@ TranslatorEnglish
...
@@ -46,7 +46,7 @@ TranslatorEnglish
Dimitri van Heesch: dimitri@stack.nl
Dimitri van Heesch: dimitri@stack.nl
TranslatorFinnish
TranslatorFinnish
Olli Korhonen: olli.korhonen lost@cyberspace
Antti Laine: antti.a.laine@tut.fi
TranslatorFrench
TranslatorFrench
Xavier Outhier: xouthier@yahoo.fr
Xavier Outhier: xouthier@yahoo.fr
...
...
doc/translator_report.txt
View file @
2f0a01b6
...
@@ -9,7 +9,7 @@ German, Greek, Hungarian, Indonesian, Italian, Japanese (+En), Korean
...
@@ -9,7 +9,7 @@ German, Greek, Hungarian, Indonesian, Italian, Japanese (+En), Korean
Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and
Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and
Ukrainian.
Ukrainian.
Of them, 1
2 translators are up-to-date, 22
translators are based on
Of them, 1
3 translators are up-to-date, 21
translators are based on
some adapter class, and 2 are English based.
some adapter class, and 2 are English based.
----------------------------------------------------------------------
----------------------------------------------------------------------
...
@@ -25,6 +25,7 @@ still may be some details listed even for them:
...
@@ -25,6 +25,7 @@ still may be some details listed even for them:
TranslatorCzech
TranslatorCzech
TranslatorDutch
TranslatorDutch
TranslatorEnglish
TranslatorEnglish
TranslatorFinnish
TranslatorGerman
TranslatorGerman
TranslatorItalian
TranslatorItalian
TranslatorKorean
TranslatorKorean
...
@@ -60,7 +61,6 @@ must be implemented to become up-to-date:
...
@@ -60,7 +61,6 @@ must be implemented to become up-to-date:
TranslatorRomanian 1.4.1 24 methods to implement
TranslatorRomanian 1.4.1 24 methods to implement
TranslatorPortuguese 1.3.3 35 methods to implement
TranslatorPortuguese 1.3.3 35 methods to implement
TranslatorSlovak 1.2.18 44 methods to implement
TranslatorSlovak 1.2.18 44 methods to implement
TranslatorFinnish obsolete 118 methods to implement
----------------------------------------------------------------------
----------------------------------------------------------------------
The following translator classes derive directly from the
The following translator classes derive directly from the
...
@@ -215,144 +215,6 @@ TranslatorDanish (TranslatorAdapter_1_5_4) 22 methods to implement
...
@@ -215,144 +215,6 @@ TranslatorDanish (TranslatorAdapter_1_5_4) 22 methods to implement
virtual QCString trSubprogramDocumentation()
virtual QCString trSubprogramDocumentation()
TranslatorFinnish (TranslatorEnglish) 118 methods to implement
-----------------
Implements 98 of the required methods.
Missing methods (should be implemented):
virtual QCString trPublicAttribs()
virtual QCString trPropertyDocumentation()
virtual QCString trMember(bool first_capital, bool singular)
virtual QCString trPageIndex()
virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
virtual QCString trOverloadText()
virtual QCString trSince()
virtual QCString trEventDocumentation()
virtual QCString trDirIndex()
virtual QCString trRemarks()
virtual QCString trProtectedTypes()
virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single)
virtual QCString trFile(bool first_capital, bool singular)
virtual QCString trPackages()
virtual QCString trInclByDepGraph()
virtual QCString trRTFansicp()
virtual QCString trImplementedFromList(int numEntries)
virtual QCString trSubprograms()
virtual QCString trCollaborationDiagram(const char * clName)
virtual QCString trPackageListDescription()
virtual QCString trDefineValue()
virtual QCString trPackageMembers()
virtual QCString trStaticPackageMembers()
virtual QCString trModulesListDescription(bool extractAll)
virtual QCString trModulesList()
virtual QCString trDirDocumentation()
virtual QCString trPackage(const char * name)
virtual QCString trPublicTypes()
virtual QCString trSearchResultsTitle()
virtual QCString trDirectories()
virtual QCString trTest()
virtual QCString trTypeConstraints()
virtual QCString trInvariant()
virtual QCString trDeprecatedList()
virtual QCString trGraphicalHierarchy()
virtual QCString trPostcondition()
virtual QCString trGotoGraphicalHierarchy()
virtual QCString trPageAbbreviation()
virtual QCString trMemberFunctionDocumentationFortran()
virtual QCString trDirDescription()
virtual QCString trGotoSourceCode()
virtual QCString trStaticPackageAttribs()
virtual QCString trCompoundListDescriptionFortran()
virtual QCString trCallGraph()
virtual QCString trStaticPublicAttribs()
virtual QCString trCode()
virtual QCString trTodo()
virtual QCString trTypeDocumentation()
virtual QCString trModuleReference(const char * namespaceName)
virtual QCString trModulesMemberDescription(bool extractAll)
virtual QCString trRTFCharSet()
virtual QCString trModulesMembers()
virtual QCString trInitialValue()
virtual QCString trAlphabeticalList()
virtual QCString trBug()
virtual QCString trNote()
virtual QCString trStaticPrivateAttribs()
virtual QCString trAttention()
virtual QCString trGotoTextualHierarchy()
virtual QCString trModulesIndex()
virtual QCString trPackageTypes()
virtual QCString trMainPage()
virtual QCString trDeprecated()
virtual QCString trCompoundListFortran()
virtual QCString trClass(bool first_capital, bool singular)
virtual QCString trImplementedInList(int numEntries)
virtual QCString trPrivateTypes()
virtual QCString trDataTypes()
virtual QCString trInclDepGraph(const char * fName)
virtual QCString trSearchResults(int numDocuments)
virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType, bool single)
virtual QCString trNamespaces()
virtual QCString trPrivateAttribs()
virtual QCString idLanguageCharset()
virtual QCString trDefinedInSourceFile()
virtual QCString trConstructorDocumentation()
virtual QCString trLegend()
virtual QCString trPackageAttribs()
virtual QCString trSearchMatches()
virtual QCString trClasses()
virtual QCString trProtectedAttribs()
virtual QCString trLegendTitle()
virtual QCString trCompoundIndexFortran()
virtual QCString trSubprogram(bool first_capital, bool singular)
virtual QCString trEvents()
virtual QCString trGlobal(bool first_capital, bool singular)
virtual QCString trDCOPMethods()
virtual QCString latexLanguageSupportCommand()
virtual QCString trBugList()
virtual QCString trRTFGeneralIndex()
virtual QCString trCallerGraph()
virtual QCString trNamespace(bool first_capital, bool singular)
virtual QCString trTestList()
virtual QCString trPrecondition()
virtual QCString trCompoundReferenceFortran(const char * clName, ClassDef::CompoundType compType, bool isTemplate)
virtual QCString trReturnValues()
virtual QCString trReferences()
virtual QCString trType(bool first_capital, bool singular)
virtual QCString trAuthor(bool first_capital, bool singular)
virtual QCString trLegendDocs()
virtual QCString trModule(bool first_capital, bool singular)
virtual QCString trPackageList()
virtual QCString trTodoList()
virtual QCString trPage(bool first_capital, bool singular)
virtual QCString trCompoundMembersFortran()
virtual QCString trSourceFile(QCString & filename)
virtual QCString trGotoDocumentation()
virtual QCString trDefinedAtLineInSourceFile()
virtual QCString trDirReference(const char * dirName)
virtual QCString trDir(bool first_capital, bool singular)
virtual QCString trSearchForIndex()
virtual QCString trAll()
virtual QCString trSubprogramDocumentation()
virtual QCString trRTFTableOfContents()
virtual QCString trGroup(bool first_capital, bool singular)
virtual QCString trReferencedBy()
virtual QCString trStaticProtectedAttribs()
virtual QCString trProperties()
Obsolete methods (should be removed, never used):
QCString trHeaderFilesDescription()
QCString trReimplementedForInternalReasons()
QCString trFiles()
virtual QCString updateNeededMessage()
QCString trHeaderFiles()
QCString trAuthors()
QCString trBugsAndLimitations()
QCString trNoDescriptionAvailable()
TranslatorFrench (TranslatorAdapter_1_5_4) 22 methods to implement
TranslatorFrench (TranslatorAdapter_1_5_4) 22 methods to implement
----------------
----------------
...
...
packages/rpm/doxygen-nodoxywizard.spec.in
deleted
100644 → 0
View file @
238c63a1
%define name doxygen
%define contentdir /var/www
%define suexec_caller doxygen
%define buildroot /var/tmp/%{name}-%{version}-%{revision}root
Summary: A documentation system for C/C++.
Name: doxygen
Version: %{version}
Release: %{revision}
URL: http://www.stack.nl/~dimitri/doxygen/index.html
Vendor: Dimitri van Heesch
License: GNU General Public License
Group: Development/Tools
Source: %{name}-%{version}_%{revision}.src.tar.gz
BuildRoot: %{buildroot}
BuildPrereq: libstdc++-devel >= 2.96, /usr/bin/perl, /usr/bin/latex, /usr/bin/dvips
Prereq: /sbin/chkconfig, /bin/mktemp, /bin/rm, /bin/mv, libstdc++ >= 2.96
Provides: doxygen = %{mmn}
%description
Doxygen can generate an online class browser (in HTML) and/or a
reference manual (in LaTeX) from a set of documented source files. The
documentation is extracted directly from the sources. Doxygen can
also be configured to extract the code structure from undocumented
source files.
%prep
%setup -q -n %{name}-%{version}_%{revision}
./configure --prefix $RPM_BUILD_ROOT/usr
%build
make %{?_smp_mflags}
make %{?_smp_mflags} pdf
%install
rm -rf $RPM_BUILD_ROOT
make install
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%doc README LICENSE LANGUAGE.HOWTO examples ./latex/*.pdf
%doc /usr/man/man1/doxygen.1.gz
%doc /usr/man/man1/doxytag.1.gz
%{_bindir}/doxygen
%{_bindir}/doxytag
%changelog
* Sun Nov 18 2007 Kevin McBride <kevin@planetsaphire.com> 1.5.4
- consolidated manual package in lieu of --excludedocs flag for rpm --install
* Fri Oct 21 2005 Kevin McBride <kevin@planetsaphire.com> 1.4.5
- made .spec file compatible with tmake
* Mon Oct 10 2005 Kevin McBride <kevin@planetsaphire.com> 1.4.5
- fixed versioning bugs.
* Tue Oct 4 2005 Kevin McBride <kevin@planetsaphire.com> 1.4.5
- added obsoletes and proides sections.
* Sun Sep 20 2005 Kevin McBride <kevin@planetsaphire.com> 1.4.4
- modified rpm spec file for Fedora Core acceptance criteria.
* Sun Aug 7 2005 Kevin McBride <kevin@planetsaphire.com> 1.4.4
- created initial rpm spec file for doxygen-1.4.4
packages/rpm/doxygen.spec.in
View file @
2f0a01b6
%define name doxygen
%define name doxygen
# optionally pass --with-doxywizard to rpmbuild
%define contentdir /var/www
%define contentdir /var/www
%define suexec_caller doxygen
%define suexec_caller doxygen
%define buildroot /var/tmp/%{name}-%{version}-%{revision}root
%define buildroot /var/tmp/%{name}-%{version}-%{revision}root
...
@@ -14,7 +16,7 @@ License: GNU General Public License
...
@@ -14,7 +16,7 @@ License: GNU General Public License
Group: Development/Tools
Group: Development/Tools
Source: %{name}-%{version}_%{revision}.src.tar.gz
Source: %{name}-%{version}_%{revision}.src.tar.gz
BuildRoot: %{buildroot}
BuildRoot: %{buildroot}
BuildPrereq: libstdc++-devel >= 2.96, /usr/bin/perl, /usr/bin/latex, /usr/bin/dvips
BuildPrereq: libstdc++-devel >= 2.96, /usr/bin/perl, /usr/bin/latex, /usr/bin/dvips
, /usr/bin/gs
Prereq: /sbin/chkconfig, /bin/mktemp, /bin/rm, /bin/mv, libstdc++ >= 2.96
Prereq: /sbin/chkconfig, /bin/mktemp, /bin/rm, /bin/mv, libstdc++ >= 2.96
Provides: doxygen = %{mmn}
Provides: doxygen = %{mmn}
...
@@ -25,6 +27,7 @@ documentation is extracted directly from the sources. Doxygen can
...
@@ -25,6 +27,7 @@ documentation is extracted directly from the sources. Doxygen can
also be configured to extract the code structure from undocumented
also be configured to extract the code structure from undocumented
source files.
source files.
%if %{?_with_doxywizard:1}%{!?_with_doxywizard:0}
%package doxywizard
%package doxywizard
Group: Development/Libraries
Group: Development/Libraries
Summary: GUI Interface for doxygen.
Summary: GUI Interface for doxygen.
...
@@ -42,10 +45,11 @@ source files.
...
@@ -42,10 +45,11 @@ source files.
This is the GUI interface for doxygen. It requires qt and X11 to
This is the GUI interface for doxygen. It requires qt and X11 to
install.
install.
%endif
%prep
%prep
%setup -q -n %{name}-%{version}_%{revision}
%setup -q -n %{name}-%{version}_%{revision}
./configure
--with-doxywizard
--prefix $RPM_BUILD_ROOT/usr
./configure
%{?_with_doxywizard}
--prefix $RPM_BUILD_ROOT/usr
%build
%build
make %{?_smp_mflags}
make %{?_smp_mflags}
...
@@ -68,12 +72,18 @@ rm -rf $RPM_BUILD_ROOT
...
@@ -68,12 +72,18 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/doxygen
%{_bindir}/doxygen
%{_bindir}/doxytag
%{_bindir}/doxytag
%if %{?_with_doxywizard:1}%{!?_with_doxywizard:0}
%files doxywizard
%files doxywizard
%defattr(-,root,root)
%defattr(-,root,root)
%{_bindir}/doxywizard
%{_bindir}/doxywizard
%doc /usr/man/man1/doxywizard.1.gz
%doc /usr/man/man1/doxywizard.1.gz
%endif
%changelog
%changelog
* Fri Apr 18 2008 Kenneth Porter <shiva+doxygenspec@sewingwitch.com> 1.5.5-1
- consolidate with and without doxywizard spec files with rpm macro
- add gs BuildPrereq
* Sun Nov 18 2007 Kevin McBride <kevin@planetsaphire.com> 1.5.4
* Sun Nov 18 2007 Kevin McBride <kevin@planetsaphire.com> 1.5.4
- consolidated manual package in lieu of --excludedocs flag for rpm --install
- consolidated manual package in lieu of --excludedocs flag for rpm --install
...
...
src/classdef.cpp
View file @
2f0a01b6
...
@@ -1075,6 +1075,12 @@ void ClassDef::writeClassDiagrams(OutputList &ol)
...
@@ -1075,6 +1075,12 @@ void ClassDef::writeClassDiagrams(OutputList &ol)
if
(
ok
&&
bcd
)
if
(
ok
&&
bcd
)
{
{
ClassDef
*
cd
=
bcd
->
classDef
;
ClassDef
*
cd
=
bcd
->
classDef
;
// use the class name but with the template arguments as given
// in the inheritance relation
QCString
displayName
=
insertTemplateSpecifierInScope
(
cd
->
name
(),
bcd
->
templSpecifiers
);
if
(
cd
->
isLinkable
())
if
(
cd
->
isLinkable
())
{
{
if
(
!
Config_getString
(
"GENERATE_TAGFILE"
).
isEmpty
())
if
(
!
Config_getString
(
"GENERATE_TAGFILE"
).
isEmpty
())
...
@@ -1098,11 +1104,11 @@ void ClassDef::writeClassDiagrams(OutputList &ol)
...
@@ -1098,11 +1104,11 @@ void ClassDef::writeClassDiagrams(OutputList &ol)
ol
.
writeObjectLink
(
cd
->
getReference
(),
ol
.
writeObjectLink
(
cd
->
getReference
(),
cd
->
getOutputFileBase
(),
cd
->
getOutputFileBase
(),
0
,
0
,
cd
->
displayName
()
+
bcd
->
templSpecifiers
);
displayName
);
}
}
else
else
{
{
ol
.
docify
(
cd
->
displayName
()
);
ol
.
docify
(
displayName
);
}
}
}
}
else
else
...
@@ -3384,3 +3390,15 @@ bool ClassDef::isUsedOnly() const
...
@@ -3384,3 +3390,15 @@ bool ClassDef::isUsedOnly() const
return
m_impl
->
usedOnly
;
return
m_impl
->
usedOnly
;
}
}
void
ClassDef
::
reclassifyMember
(
MemberDef
*
md
,
MemberDef
::
MemberType
t
)
{
md
->
setMemberType
(
t
);
MemberList
*
ml
=
m_impl
->
memberLists
.
first
();
while
(
ml
)
{
ml
->
remove
(
md
);
ml
=
m_impl
->
memberLists
.
next
();
}
insertMember
(
md
);
}
src/classdef.h
View file @
2f0a01b6
...
@@ -314,6 +314,7 @@ class ClassDef : public Definition
...
@@ -314,6 +314,7 @@ class ClassDef : public Definition
void
writeDeclaration
(
OutputList
&
ol
,
MemberDef
*
md
,
bool
inGroup
);
void
writeDeclaration
(
OutputList
&
ol
,
MemberDef
*
md
,
bool
inGroup
);
void
writeDetailedDescription
(
OutputList
&
ol
,
const
QCString
&
pageType
,
bool
exampleFlag
);
void
writeDetailedDescription
(
OutputList
&
ol
,
const
QCString
&
pageType
,
bool
exampleFlag
);
void
writeQuickMemberLinks
(
OutputList
&
ol
,
MemberDef
*
md
)
const
;
void
writeQuickMemberLinks
(
OutputList
&
ol
,
MemberDef
*
md
)
const
;
void
reclassifyMember
(
MemberDef
*
md
,
MemberDef
::
MemberType
t
);
bool
visited
;
bool
visited
;
...
...
src/config.l
View file @
2f0a01b6
...
@@ -961,7 +961,7 @@ void Config::check()
...
@@ -961,7 +961,7 @@ void Config::check()
//}
//}
QCString &warnFormat = Config_getString("WARN_FORMAT");
QCString &warnFormat = Config_getString("WARN_FORMAT");
if (warnFormat.isEmpty())
if (warnFormat.
stripWhiteSpace().
isEmpty())
{
{
warnFormat="$file:$line $text";
warnFormat="$file:$line $text";
}
}
...
@@ -969,18 +969,15 @@ void Config::check()
...
@@ -969,18 +969,15 @@ void Config::check()
{
{
if (warnFormat.find("$file")==-1)
if (warnFormat.find("$file")==-1)
{
{
config_err("Error: warning format does not contain a $file tag!\n");
config_err("Warning: warning format does not contain a $file tag!\n");
exit(1);
}
}
if (warnFormat.find("$line")==-1)
if (warnFormat.find("$line")==-1)
{
{
config_err("Error: warning format does not contain a $line tag!\n");
config_err("Warning: warning format does not contain a $line tag!\n");
exit(1);
}
}
if (warnFormat.find("$text")==-1)
if (warnFormat.find("$text")==-1)
{
{
config_err("Error: wanring format foes not contain a $text tag!\n");
config_err("Warning: warning format foes not contain a $text tag!\n");
exit(1);
}
}
}
}
...
@@ -1248,6 +1245,28 @@ void Config::check()
...
@@ -1248,6 +1245,28 @@ void Config::check()
examplePatternList.append("*");
examplePatternList.append("*");
}
}
// if no output format is enabled, warn the user
if (!Config_getBool("GENERATE_HTML") &&
!Config_getBool("GENERATE_LATEX") &&
!Config_getBool("GENERATE_MAN") &&
!Config_getBool("GENERATE_RTF") &&
!Config_getBool("GENERATE_XML") &&
!Config_getBool("GENERATE_PERLMOD") &&
!Config_getBool("GENERATE_RTF") &&
!Config_getBool("GENERATE_AUTOGEN_DEF") &&
Config_getString("GENERATE_TAGFILE").isEmpty()
)
{
config_err("Warning: No output formats selected! Set at least one of the main GENERATE_* options to YES.\n");
}
// you can't generate HTMLHELP without HTML enabled!
if (!Config_getBool("GENERATE_HTML") &&
Config_getBool("GENERATE_HTMLHELP"))
{
config_err("Warning: GENERATE_HTMLHELP=YES requires GENERATE_HTML=YES.\n");
}
if (Config_getBool("HAVE_DOT"))
if (Config_getBool("HAVE_DOT"))
{
{
QCString curFontPath = Config_getString("DOT_FONTPATH");
QCString curFontPath = Config_getString("DOT_FONTPATH");
...
@@ -1299,28 +1318,6 @@ void Config::check()
...
@@ -1299,28 +1318,6 @@ void Config::check()
annotationFromBrief.append("the");
annotationFromBrief.append("the");
}
}
#if 0
if (Config_getBool("CALL_GRAPH") &&
(!Config_getBool("SOURCE_BROWSER") || !Config_getBool("REFERENCES_RELATION"))
)
{
config_err("Warning: turning on CALL_GRAPH requires turning "
"SOURCE_BROWSER and\nREFERENCES_RELATION on as well!\n"
"Assuming SOURCE_BROWSER=YES and REFERENCES_RELATION=YES\n");
Config_getBool("SOURCE_BROWSER")=TRUE;
Config_getBool("REFERENCES_RELATION")=TRUE;
}
if (Config_getBool("CALLER_GRAPH") &&
(!Config_getBool("SOURCE_BROWSER") || !Config_getBool("REFERENCED_BY_RELATION"))
)
{
config_err("Warning: turning on CALLER_GRAPH requires turning "
"SOURCE_BROWSER and\nREFERENCEDBY_RELATION on as well!\n"
"Assuming SOURCE_BROWSER=YES and REFERENCED_BY_RELATION=YES\n");
Config_getBool("SOURCE_BROWSER")=TRUE;
Config_getBool("REFERENCED_BY_RELATION")=TRUE;
}
#endif
// some default settings for vhdl
// some default settings for vhdl
if (Config_getBool("OPTIMIZE_OUTPUT_VHDL") &&
if (Config_getBool("OPTIMIZE_OUTPUT_VHDL") &&
(Config_getBool("INLINE_INHERITED_MEMB") ||
(Config_getBool("INLINE_INHERITED_MEMB") ||
...
@@ -1743,6 +1740,15 @@ void Config::create()
...
@@ -1743,6 +1740,15 @@ void Config::create()
"instead of private inheritance when no explicit protection keyword is present. \n",
"instead of private inheritance when no explicit protection keyword is present. \n",
FALSE
FALSE
);
);
cb = addBool( "IDL_PROPERTY_SUPPORT",
"For Microsoft's IDL there are propget and propput attributes to indicate getter \n"
"and setter methods for a property. Setting this option to YES (the default) \n"
"will make doxygen to replace the get and set methods by a property in the \n"
"documentation. This will only work if the methods are indeed getting or \n"
"setting a simple type. If this is not the case, or you want to show the \n"
"methods anyway, you should set this option to NO. \n",
TRUE
);
cb = addBool(
cb = addBool(
"DISTRIBUTE_GROUP_DOC",
"DISTRIBUTE_GROUP_DOC",
"If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n"
"If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n"
...
@@ -2209,13 +2215,13 @@ void Config::create()
...
@@ -2209,13 +2215,13 @@ void Config::create()
TRUE
TRUE
);
);
cb = addBool( "REFERENCED_BY_RELATION",
cb = addBool( "REFERENCED_BY_RELATION",
"If the REFERENCED_BY_RELATION tag is set to YES
(the default)
\n"
"If the REFERENCED_BY_RELATION tag is set to YES \n"
"then for each documented function all documented \n"
"then for each documented function all documented \n"
"functions referencing it will be listed. \n",
"functions referencing it will be listed. \n",
FALSE
FALSE
);
);
cb = addBool( "REFERENCES_RELATION",
cb = addBool( "REFERENCES_RELATION",
"If the REFERENCES_RELATION tag is set to YES
(the default)
\n"
"If the REFERENCES_RELATION tag is set to YES \n"
"then for each documented function all documented entities \n"
"then for each documented function all documented entities \n"
"called/used by that function will be listed. \n",
"called/used by that function will be listed. \n",
FALSE
FALSE
...
@@ -2339,8 +2345,8 @@ void Config::create()
...
@@ -2339,8 +2345,8 @@ void Config::create()
"of the generated HTML documentation. \n",
"of the generated HTML documentation. \n",
FALSE
FALSE
);
);
cb
= addBool(
cb
->addDependency("GENERATE_HTML");
"GENERATE_DOCSET",
cb = addBool(
"GENERATE_DOCSET",
"If the GENERATE_DOCSET tag is set to YES, additional index files \n"
"If the GENERATE_DOCSET tag is set to YES, additional index files \n"
"will be generated that can be used as input for Apple's Xcode 3 \n"
"will be generated that can be used as input for Apple's Xcode 3 \n"
"integrated development environment, introduced with OSX 10.5 (Leopard). \n"
"integrated development environment, introduced with OSX 10.5 (Leopard). \n"
...
@@ -2360,7 +2366,7 @@ void Config::create()
...
@@ -2360,7 +2366,7 @@ void Config::create()
"can be grouped. \n"
"can be grouped. \n"
);
);
cs->setDefaultValue("Doxygen generated docs");
cs->setDefaultValue("Doxygen generated docs");
c
b
->addDependency("GENERATE_DOCSET");
c
s
->addDependency("GENERATE_DOCSET");
cs = addString(
cs = addString(
"DOCSET_BUNDLE_ID",
"DOCSET_BUNDLE_ID",
"When GENERATE_DOCSET tag is set to YES, this tag specifies a string that \n"
"When GENERATE_DOCSET tag is set to YES, this tag specifies a string that \n"
...
@@ -2369,7 +2375,7 @@ void Config::create()
...
@@ -2369,7 +2375,7 @@ void Config::create()
"will append .docset to the name. \n"
"will append .docset to the name. \n"
);
);
cs->setDefaultValue("org.doxygen.Project");
cs->setDefaultValue("org.doxygen.Project");
c
b
->addDependency("GENERATE_DOCSET");
c
s
->addDependency("GENERATE_DOCSET");
cb = addBool(
cb = addBool(
"HTML_DYNAMIC_SECTIONS",
"HTML_DYNAMIC_SECTIONS",
...
@@ -2468,6 +2474,16 @@ void Config::create()
...
@@ -2468,6 +2474,16 @@ void Config::create()
0,1500,250
0,1500,250
);
);
ci->addDependency("GENERATE_HTML");
ci->addDependency("GENERATE_HTML");
ci = addInt(
"FORMULA_FONTSIZE",
"Use this tag to change the font size of Latex formulas included \n"
"as images in the HTML documentation. The default is 10. Note that \n"
"when you change the font size after a successful doxygen run you need \n"
"to manually remove any form_*.png images from the HTML output directory \n"
"to force them to be regenerated. \n",
8,50,10
);
ci->addDependency("GENERATE_HTML");
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
addInfo( "LaTeX","configuration options related to the LaTeX output");
addInfo( "LaTeX","configuration options related to the LaTeX output");
...
@@ -3080,7 +3096,7 @@ void Config::create()
...
@@ -3080,7 +3096,7 @@ void Config::create()
cl->addDependency("HAVE_DOT");
cl->addDependency("HAVE_DOT");
ci = addInt(
ci = addInt(
"DOT_GRAPH_MAX_NODES",
"DOT_GRAPH_MAX_NODES",
"The
MAX_
DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of \n"
"The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of \n"
"nodes that will be shown in the graph. If the number of nodes in a graph \n"
"nodes that will be shown in the graph. If the number of nodes in a graph \n"
"becomes larger than this value, doxygen will truncate the graph, which is \n"
"becomes larger than this value, doxygen will truncate the graph, which is \n"
"visualized by representing a node as a red box. Note that doxygen if the \n"
"visualized by representing a node as a red box. Note that doxygen if the \n"
...
...
src/defargs.l
View file @
2f0a01b6
...
@@ -317,7 +317,7 @@ ID [a-z_A-Z][a-z_A-Z0-9]*
...
@@ -317,7 +317,7 @@ ID [a-z_A-Z][a-z_A-Z0-9]*
a->array = a->array.mid(1,alen-2);
a->array = a->array.mid(1,alen-2);
if (i>0 && a->name.isEmpty())
if (i>0 && a->name.isEmpty())
{
{
a->name = a->array.left(i);
a->name = a->array.left(i)
.stripWhiteSpace()
;
a->array = a->array.mid(i);
a->array = a->array.mid(i);
}
}
}
}
...
...
src/defgen.cpp
View file @
2f0a01b6
...
@@ -479,7 +479,7 @@ void generateDEFSection(Definition *d,
...
@@ -479,7 +479,7 @@ void generateDEFSection(Definition *d,
MemberList
*
ml
,
MemberList
*
ml
,
const
char
*
kind
)
const
char
*
kind
)
{
{
if
(
ml
->
count
()
>
0
)
if
(
ml
&&
ml
->
count
()
>
0
)
{
{
t
<<
" "
<<
kind
<<
" = {"
<<
endl
;
t
<<
" "
<<
kind
<<
" = {"
<<
endl
;
MemberListIterator
mli
(
*
ml
);
MemberListIterator
mli
(
*
ml
);
...
...
src/diagram.cpp
View file @
2f0a01b6
...
@@ -208,7 +208,9 @@ QCString DiagramItem::label() const
...
@@ -208,7 +208,9 @@ QCString DiagramItem::label() const
QCString
result
;
QCString
result
;
if
(
!
templSpec
.
isEmpty
())
if
(
!
templSpec
.
isEmpty
())
{
{
result
=
insertTemplateSpecifierInScope
(
classDef
->
displayName
(),
templSpec
);
// we use classDef->name() here and not diplayName() in order
// to get the name used in the inheritance relation.
result
=
insertTemplateSpecifierInScope
(
classDef
->
name
(),
templSpec
);
}
}
else
else
{
{
...
...
src/docparser.cpp
View file @
2f0a01b6
...
@@ -339,6 +339,7 @@ static void checkArgumentName(const QString &name,bool isParam)
...
@@ -339,6 +339,7 @@ static void checkArgumentName(const QString &name,bool isParam)
for
(
ali
.
toFirst
();(
a
=
ali
.
current
());
++
ali
)
for
(
ali
.
toFirst
();(
a
=
ali
.
current
());
++
ali
)
{
{
QString
argName
=
g_memberDef
->
isDefine
()
?
a
->
type
:
a
->
name
;
QString
argName
=
g_memberDef
->
isDefine
()
?
a
->
type
:
a
->
name
;
argName
=
argName
.
stripWhiteSpace
();
//printf("argName=`%s'\n",argName.data());
//printf("argName=`%s'\n",argName.data());
if
(
argName
.
right
(
3
)
==
"..."
)
argName
=
argName
.
left
(
argName
.
length
()
-
3
);
if
(
argName
.
right
(
3
)
==
"..."
)
argName
=
argName
.
left
(
argName
.
length
()
-
3
);
if
(
aName
==
argName
)
if
(
aName
==
argName
)
...
@@ -368,7 +369,7 @@ static void checkArgumentName(const QString &name,bool isParam)
...
@@ -368,7 +369,7 @@ static void checkArgumentName(const QString &name,bool isParam)
}
}
warn_doc_error
(
docFile
,
docLine
,
warn_doc_error
(
docFile
,
docLine
,
"Warning: argument
`
%s' of command @param "
"Warning: argument
'
%s' of command @param "
"is not found in the argument list of %s%s%s%s"
,
"is not found in the argument list of %s%s%s%s"
,
aName
.
data
(),
scope
.
data
(),
g_memberDef
->
name
().
data
(),
aName
.
data
(),
scope
.
data
(),
g_memberDef
->
name
().
data
(),
argListToString
(
al
.
pointer
()).
data
(),
inheritedFrom
.
data
());
argListToString
(
al
.
pointer
()).
data
(),
inheritedFrom
.
data
());
...
@@ -397,6 +398,7 @@ static void checkUndocumentedParams()
...
@@ -397,6 +398,7 @@ static void checkUndocumentedParams()
for
(
ali
.
toFirst
();(
a
=
ali
.
current
());
++
ali
)
for
(
ali
.
toFirst
();(
a
=
ali
.
current
());
++
ali
)
{
{
QString
argName
=
g_memberDef
->
isDefine
()
?
a
->
type
:
a
->
name
;
QString
argName
=
g_memberDef
->
isDefine
()
?
a
->
type
:
a
->
name
;
argName
=
argName
.
stripWhiteSpace
();
if
(
argName
.
right
(
3
)
==
"..."
)
argName
=
argName
.
left
(
argName
.
length
()
-
3
);
if
(
argName
.
right
(
3
)
==
"..."
)
argName
=
argName
.
left
(
argName
.
length
()
-
3
);
if
(
!
argName
.
isEmpty
()
&&
g_paramsFound
.
find
(
argName
)
==
0
&&
a
->
docs
.
isEmpty
())
if
(
!
argName
.
isEmpty
()
&&
g_paramsFound
.
find
(
argName
)
==
0
&&
a
->
docs
.
isEmpty
())
{
{
...
@@ -415,6 +417,7 @@ static void checkUndocumentedParams()
...
@@ -415,6 +417,7 @@ static void checkUndocumentedParams()
for
(
ali
.
toFirst
();(
a
=
ali
.
current
());
++
ali
)
for
(
ali
.
toFirst
();(
a
=
ali
.
current
());
++
ali
)
{
{
QString
argName
=
g_memberDef
->
isDefine
()
?
a
->
type
:
a
->
name
;
QString
argName
=
g_memberDef
->
isDefine
()
?
a
->
type
:
a
->
name
;
argName
=
argName
.
stripWhiteSpace
();
if
(
!
argName
.
isEmpty
()
&&
g_paramsFound
.
find
(
argName
)
==
0
)
if
(
!
argName
.
isEmpty
()
&&
g_paramsFound
.
find
(
argName
)
==
0
)
{
{
if
(
!
first
)
if
(
!
first
)
...
@@ -425,7 +428,7 @@ static void checkUndocumentedParams()
...
@@ -425,7 +428,7 @@ static void checkUndocumentedParams()
{
{
first
=
FALSE
;
first
=
FALSE
;
}
}
errMsg
+=
" parameter
"
+
argName
;
errMsg
+=
" parameter
'"
+
argName
+
"'"
;
}
}
}
}
if
(
g_memberDef
->
inheritsDocsFrom
())
if
(
g_memberDef
->
inheritsDocsFrom
())
...
...
src/dot.cpp
View file @
2f0a01b6
...
@@ -617,6 +617,7 @@ void DotNode::writeBox(QTextStream &t,
...
@@ -617,6 +617,7 @@ void DotNode::writeBox(QTextStream &t,
t
<<
"
\\
n|"
;
t
<<
"
\\
n|"
;
writeBoxMemberList
(
t
,
'+'
,
m_classDef
->
getMemberList
(
MemberList
::
pubAttribs
),
m_classDef
);
writeBoxMemberList
(
t
,
'+'
,
m_classDef
->
getMemberList
(
MemberList
::
pubAttribs
),
m_classDef
);
writeBoxMemberList
(
t
,
'+'
,
m_classDef
->
getMemberList
(
MemberList
::
pubStaticAttribs
),
m_classDef
);
writeBoxMemberList
(
t
,
'+'
,
m_classDef
->
getMemberList
(
MemberList
::
pubStaticAttribs
),
m_classDef
);
writeBoxMemberList
(
t
,
'+'
,
m_classDef
->
getMemberList
(
MemberList
::
properties
),
m_classDef
);
writeBoxMemberList
(
t
,
'~'
,
m_classDef
->
getMemberList
(
MemberList
::
pacAttribs
),
m_classDef
);
writeBoxMemberList
(
t
,
'~'
,
m_classDef
->
getMemberList
(
MemberList
::
pacAttribs
),
m_classDef
);
writeBoxMemberList
(
t
,
'~'
,
m_classDef
->
getMemberList
(
MemberList
::
pacStaticAttribs
),
m_classDef
);
writeBoxMemberList
(
t
,
'~'
,
m_classDef
->
getMemberList
(
MemberList
::
pacStaticAttribs
),
m_classDef
);
writeBoxMemberList
(
t
,
'#'
,
m_classDef
->
getMemberList
(
MemberList
::
proAttribs
),
m_classDef
);
writeBoxMemberList
(
t
,
'#'
,
m_classDef
->
getMemberList
(
MemberList
::
proAttribs
),
m_classDef
);
...
...
src/doxygen.cpp
View file @
2f0a01b6
...
@@ -1938,15 +1938,27 @@ static MemberDef *addVariableToClass(
...
@@ -1938,15 +1938,27 @@ static MemberDef *addVariableToClass(
MemberDef
*
md
;
MemberDef
*
md
;
for
(
mni
.
toFirst
();(
md
=
mni
.
current
());
++
mni
)
for
(
mni
.
toFirst
();(
md
=
mni
.
current
());
++
mni
)
{
{
if
(
md
->
getClassDef
()
==
cd
&&
root
->
type
==
md
->
typeString
())
//printf("md->getClassDef()=%p cd=%p type=[%s] md->typeString()=[%s]\n",
// md->getClassDef(),cd,root->type.data(),md->typeString());
if
(
md
->
getClassDef
()
==
cd
&&
removeRedundantWhiteSpace
(
root
->
type
)
==
md
->
typeString
())
// member already in the scope
// member already in the scope
{
{
if
(
root
->
objc
&&
root
->
mtype
==
Property
&&
md
->
memberType
()
==
MemberDef
::
Variable
)
{
// Objective-C 2.0 property
// turn variable into a property
cd
->
reclassifyMember
(
md
,
MemberDef
::
Property
);
}
addMemberDocs
(
rootNav
,
md
,
def
,
0
,
FALSE
);
addMemberDocs
(
rootNav
,
md
,
def
,
0
,
FALSE
);
//printf(" Member already found!\n");
//printf(" Member already found!\n");
return
md
;
return
md
;
}
}
}
}
}
}
// new member variable, typedef or enum value
// new member variable, typedef or enum value
MemberDef
*
md
=
new
MemberDef
(
MemberDef
*
md
=
new
MemberDef
(
root
->
fileName
,
root
->
startLine
,
root
->
fileName
,
root
->
startLine
,
...
@@ -1985,7 +1997,7 @@ static MemberDef *addVariableToClass(
...
@@ -1985,7 +1997,7 @@ static MemberDef *addVariableToClass(
//
//
md
->
setBodyDef
(
rootNav
->
fileDef
());
md
->
setBodyDef
(
rootNav
->
fileDef
());
//printf("Adding member=%s\n",md->name().data());
//printf("
Adding member=%s\n",md->name().data());
// add the member to the global list
// add the member to the global list
if
(
mn
)
if
(
mn
)
{
{
...
@@ -2104,6 +2116,7 @@ static MemberDef *addVariableToFile(
...
@@ -2104,6 +2116,7 @@ static MemberDef *addVariableToFile(
||
(
nd
!=
0
&&
md
->
getNamespaceDef
()
==
nd
)
// both in same namespace
||
(
nd
!=
0
&&
md
->
getNamespaceDef
()
==
nd
)
// both in same namespace
)
)
&&
!
md
->
isDefine
()
// function style #define's can be "overloaded" by typedefs or variables
&&
!
md
->
isDefine
()
// function style #define's can be "overloaded" by typedefs or variables
&&
!
md
->
isEnumerate
()
// in C# an enum value and enum can have the same name
)
)
// variable already in the scope
// variable already in the scope
{
{
...
@@ -6510,7 +6523,7 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
...
@@ -6510,7 +6523,7 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
e
->
loadEntry
(
g_storage
);
e
->
loadEntry
(
g_storage
);
MemberDef
*
fmd
=
addVariableToFile
(
e
,
MemberDef
::
EnumValue
,
MemberDef
*
fmd
=
addVariableToFile
(
e
,
MemberDef
::
EnumValue
,
md
->
getOuterScope
()
?
md
->
getOuterScope
()
->
name
()
:
QCString
(),
md
->
getOuterScope
()
?
md
->
getOuterScope
()
->
name
()
:
QCString
(),
e
->
name
(),
TRU
E
,
0
);
e
->
name
(),
FALS
E
,
0
);
md
->
insertEnumField
(
fmd
);
md
->
insertEnumField
(
fmd
);
fmd
->
setEnumScope
(
md
);
fmd
->
setEnumScope
(
md
);
e
->
releaseEntry
();
e
->
releaseEntry
();
...
@@ -9832,6 +9845,7 @@ void parseInput()
...
@@ -9832,6 +9845,7 @@ void parseInput()
//}
//}
classEntries
.
clear
();
classEntries
.
clear
();
msg
(
"Add enum values to enums...
\n
"
);
addEnumValuesToEnums
(
rootNav
);
addEnumValuesToEnums
(
rootNav
);
findEnumDocumentation
(
rootNav
);
findEnumDocumentation
(
rootNav
);
...
@@ -10166,7 +10180,9 @@ void generateOutput()
...
@@ -10166,7 +10180,9 @@ void generateOutput()
msg
(
"Generating Perl module output...
\n
"
);
msg
(
"Generating Perl module output...
\n
"
);
generatePerlMod
();
generatePerlMod
();
}
}
if
(
Config_getBool
(
"GENERATE_HTMLHELP"
)
&&
!
Config_getString
(
"HHC_LOCATION"
).
isEmpty
())
if
(
Config_getBool
(
"GENERATE_HTML"
)
&&
Config_getBool
(
"GENERATE_HTMLHELP"
)
&&
!
Config_getString
(
"HHC_LOCATION"
).
isEmpty
())
{
{
msg
(
"Running html help compiler...
\n
"
);
msg
(
"Running html help compiler...
\n
"
);
QString
oldDir
=
QDir
::
currentDirPath
();
QString
oldDir
=
QDir
::
currentDirPath
();
...
...
src/filedef.cpp
View file @
2f0a01b6
...
@@ -662,7 +662,7 @@ void FileDef::writeSource(OutputList &ol)
...
@@ -662,7 +662,7 @@ void FileDef::writeSource(OutputList &ol)
startFile
(
ol
,
getSourceFileBase
(),
0
,
pageTitle
,
HLI_FileVisible
,
TRUE
);
startFile
(
ol
,
getSourceFileBase
(),
0
,
pageTitle
,
HLI_FileVisible
,
TRUE
);
getDirDef
()
->
writeNavigationPath
(
ol
);
getDirDef
()
->
writeNavigationPath
(
ol
);
ol
.
endQuickIndices
();
ol
.
endQuickIndices
();
ol
.
end
Contents
();
ol
.
start
Contents
();
startTitle
(
ol
,
getOutputFileBase
());
startTitle
(
ol
,
getOutputFileBase
());
ol
.
parseText
(
name
());
ol
.
parseText
(
name
());
endTitle
(
ol
,
getOutputFileBase
(),
title
);
endTitle
(
ol
,
getOutputFileBase
(),
title
);
...
...
src/formula.cpp
View file @
2f0a01b6
...
@@ -166,7 +166,10 @@ void FormulaList::generateBitmaps(const char *path)
...
@@ -166,7 +166,10 @@ void FormulaList::generateBitmaps(const char *path)
}
}
// scale the image so that it is four times larger than needed.
// scale the image so that it is four times larger than needed.
// and the sizes are a multiple of four.
// and the sizes are a multiple of four.
const
double
scaleFactor
=
16.0
/
3.0
;
double
scaleFactor
=
16.0
/
3.0
;
int
zoomFactor
=
Config_getInt
(
"FORMULA_FONTSIZE"
);
if
(
zoomFactor
<
8
||
zoomFactor
>
50
)
zoomFactor
=
10
;
scaleFactor
*=
zoomFactor
/
10.0
;
int
gx
=
(((
int
)((
x2
-
x1
)
*
scaleFactor
))
+
3
)
&~
2
;
int
gx
=
(((
int
)((
x2
-
x1
)
*
scaleFactor
))
+
3
)
&~
2
;
int
gy
=
(((
int
)((
y2
-
y1
)
*
scaleFactor
))
+
3
)
&~
2
;
int
gy
=
(((
int
)((
y2
-
y1
)
*
scaleFactor
))
+
3
)
&~
2
;
// Then we run ghostscript to convert the postscript to a pixmap
// Then we run ghostscript to convert the postscript to a pixmap
...
...
src/groupdef.cpp
View file @
2f0a01b6
...
@@ -60,24 +60,6 @@ GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t,
...
@@ -60,24 +60,6 @@ GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t,
memberGroupSDict
->
setAutoDelete
(
TRUE
);
memberGroupSDict
->
setAutoDelete
(
TRUE
);
allMemberList
=
new
MemberList
(
MemberList
::
allMembersList
);
allMemberList
=
new
MemberList
(
MemberList
::
allMembersList
);
#if 0
decDefineMembers.setInGroup(TRUE);
decProtoMembers.setInGroup(TRUE);
decTypedefMembers.setInGroup(TRUE);
decEnumMembers.setInGroup(TRUE);
decEnumValMembers.setInGroup(TRUE);
decFuncMembers.setInGroup(TRUE);
decVarMembers.setInGroup(TRUE);
docDefineMembers.setInGroup(TRUE);
docProtoMembers.setInGroup(TRUE);
docTypedefMembers.setInGroup(TRUE);
docEnumMembers.setInGroup(TRUE);
docEnumValMembers.setInGroup(TRUE);
docFuncMembers.setInGroup(TRUE);
docVarMembers.setInGroup(TRUE);
#endif
visited
=
0
;
visited
=
0
;
groupScope
=
0
;
groupScope
=
0
;
...
@@ -142,14 +124,6 @@ void GroupDef::findSectionsInDocumentation()
...
@@ -142,14 +124,6 @@ void GroupDef::findSectionsInDocumentation()
ml
->
findSectionsInDocumentation
();
ml
->
findSectionsInDocumentation
();
}
}
}
}
#if 0
decDefineMembers.findSectionsInDocumentation();
decProtoMembers.findSectionsInDocumentation();
decTypedefMembers.findSectionsInDocumentation();
decEnumMembers.findSectionsInDocumentation();
decFuncMembers.findSectionsInDocumentation();
decVarMembers.findSectionsInDocumentation();
#endif
}
}
void
GroupDef
::
addFile
(
const
FileDef
*
def
)
void
GroupDef
::
addFile
(
const
FileDef
*
def
)
...
@@ -224,15 +198,6 @@ void GroupDef::addMembersToMemberGroup()
...
@@ -224,15 +198,6 @@ void GroupDef::addMembersToMemberGroup()
::
addMembersToMemberGroup
(
ml
,
&
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
ml
,
&
memberGroupSDict
,
this
);
}
}
}
}
#if 0
::addMembersToMemberGroup(&decDefineMembers,&memberGroupSDict,this);
::addMembersToMemberGroup(&decProtoMembers,&memberGroupSDict,this);
::addMembersToMemberGroup(&decTypedefMembers,&memberGroupSDict,this);
::addMembersToMemberGroup(&decEnumMembers,&memberGroupSDict,this);
::addMembersToMemberGroup(&decEnumValMembers,&memberGroupSDict,this);
::addMembersToMemberGroup(&decFuncMembers,&memberGroupSDict,this);
::addMembersToMemberGroup(&decVarMembers,&memberGroupSDict,this);
#endif
//printf("GroupDef::addMembersToMemberGroup() memberGroupList=%d\n",memberGroupList->count());
//printf("GroupDef::addMembersToMemberGroup() memberGroupList=%d\n",memberGroupList->count());
MemberGroupSDict
::
Iterator
mgli
(
*
memberGroupSDict
);
MemberGroupSDict
::
Iterator
mgli
(
*
memberGroupSDict
);
...
@@ -872,14 +837,6 @@ void GroupDef::writeMemberPages(OutputList &ol)
...
@@ -872,14 +837,6 @@ void GroupDef::writeMemberPages(OutputList &ol)
ml
->
writeDocumentationPage
(
ol
,
name
(),
this
);
ml
->
writeDocumentationPage
(
ol
,
name
(),
this
);
}
}
}
}
#if 0
docDefineMembers.writeDocumentationPage(ol,name(),this);
docProtoMembers.writeDocumentationPage(ol,name(),this);
docTypedefMembers.writeDocumentationPage(ol,name(),this);
docEnumMembers.writeDocumentationPage(ol,name(),this);
docFuncMembers.writeDocumentationPage(ol,name(),this);
docVarMembers.writeDocumentationPage(ol,name(),this);
#endif
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
}
}
...
@@ -1154,14 +1111,6 @@ void GroupDef::addListReferences()
...
@@ -1154,14 +1111,6 @@ void GroupDef::addListReferences()
ml
->
addListReferences
(
this
);
ml
->
addListReferences
(
this
);
}
}
}
}
#if 0
docDefineMembers.addListReferences(this);
docProtoMembers.addListReferences(this);
docTypedefMembers.addListReferences(this);
docEnumMembers.addListReferences(this);
docFuncMembers.addListReferences(this);
docVarMembers.addListReferences(this);
#endif
}
}
MemberList
*
GroupDef
::
createMemberList
(
MemberList
::
ListType
lt
)
MemberList
*
GroupDef
::
createMemberList
(
MemberList
::
ListType
lt
)
...
...
src/index.cpp
View file @
2f0a01b6
...
@@ -1736,7 +1736,6 @@ void writeQuickMemberIndex(OutputList &ol,
...
@@ -1736,7 +1736,6 @@ void writeQuickMemberIndex(OutputList &ol,
}
}
}
}
endQuickIndexList
(
ol
);
endQuickIndexList
(
ol
);
ol
.
newParagraph
();
}
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
...
...
src/language.cpp
View file @
2f0a01b6
...
@@ -54,7 +54,7 @@
...
@@ -54,7 +54,7 @@
#include "translator_es.h"
#include "translator_es.h"
#endif
#endif
#ifdef LANG_FI
#ifdef LANG_FI
//
#include "translator_fi.h"
#include "translator_fi.h"
#endif
#endif
#ifdef LANG_RU
#ifdef LANG_RU
#include "translator_ru.h"
#include "translator_ru.h"
...
...
src/memberdef.cpp
View file @
2f0a01b6
...
@@ -533,8 +533,8 @@ void MemberDefImpl::init(Definition *def,
...
@@ -533,8 +533,8 @@ void MemberDefImpl::init(Definition *def,
{
{
declArgList
=
new
ArgumentList
;
declArgList
=
new
ArgumentList
;
stringToArgumentList
(
args
,
declArgList
,
&
extraTypeChars
);
stringToArgumentList
(
args
,
declArgList
,
&
extraTypeChars
);
//printf("setDeclArgList %s to %
p
const=%d\n",args.data(),
//printf("setDeclArgList %s to %
s
const=%d\n",args.data(),
//
declArgList
,declArgList->constSpecifier);
//
argListToString(declArgList).data()
,declArgList->constSpecifier);
}
}
else
else
{
{
...
@@ -766,7 +766,10 @@ QCString MemberDef::anchor() const
...
@@ -766,7 +766,10 @@ QCString MemberDef::anchor() const
QCString
result
=
m_impl
->
anc
;
QCString
result
=
m_impl
->
anc
;
if
(
m_impl
->
groupAlias
)
return
m_impl
->
groupAlias
->
anchor
();
if
(
m_impl
->
groupAlias
)
return
m_impl
->
groupAlias
->
anchor
();
if
(
m_impl
->
templateMaster
)
return
m_impl
->
templateMaster
->
anchor
();
if
(
m_impl
->
templateMaster
)
return
m_impl
->
templateMaster
->
anchor
();
if
(
m_impl
->
enumScope
)
result
.
prepend
(
m_impl
->
enumScope
->
anchor
());
if
(
m_impl
->
enumScope
&&
m_impl
->
enumScope
!=
this
)
// avoid recursion for C#'s public enum E { E, F }
{
result
.
prepend
(
m_impl
->
enumScope
->
anchor
());
}
if
(
m_impl
->
group
)
if
(
m_impl
->
group
)
{
{
if
(
m_impl
->
groupMember
)
if
(
m_impl
->
groupMember
)
...
@@ -1047,9 +1050,10 @@ bool MemberDef::isBriefSectionVisible() const
...
@@ -1047,9 +1050,10 @@ bool MemberDef::isBriefSectionVisible() const
//printf("visibleIfStatic=%d visibleIfDocumented=%d visibleIfEnabled=%d "
//printf("visibleIfStatic=%d visibleIfDocumented=%d visibleIfEnabled=%d "
// "visibleIfPrivate=%d visibltIfNotDefaultCDTor=%d "
// "visibleIfPrivate=%d visibltIfNotDefaultCDTor=%d "
// "visibleIfFriendCompound=%d\n",visibleIfStatic,visibleIfDocumented,
// "visibleIfFriendCompound=%d !annScope=%d\n",
// visibleIfStatic,visibleIfDocumented,
// visibleIfEnabled,visibleIfPrivate,visibleIfNotDefaultCDTor,
// visibleIfEnabled,visibleIfPrivate,visibleIfNotDefaultCDTor,
// visibleIfFriendCompound);
// visibleIfFriendCompound
,!m_impl->annScope
);
bool
visible
=
visibleIfStatic
&&
visibleIfDocumented
&&
bool
visible
=
visibleIfStatic
&&
visibleIfDocumented
&&
visibleIfEnabled
&&
visibleIfPrivate
&&
visibleIfEnabled
&&
visibleIfPrivate
&&
...
...
src/membergroup.cpp
View file @
2f0a01b6
...
@@ -165,17 +165,30 @@ void MemberGroup::distributeMemberGroupDocumentation()
...
@@ -165,17 +165,30 @@ void MemberGroup::distributeMemberGroupDocumentation()
{
{
//printf("MemberGroup::distributeMemberGroupDocumentation() %s\n",grpHeader.data());
//printf("MemberGroup::distributeMemberGroupDocumentation() %s\n",grpHeader.data());
MemberDef
*
md
=
memberList
->
first
();
MemberDef
*
md
=
memberList
->
first
();
if
(
md
&&
!
(
md
->
documentation
().
isEmpty
()
&&
while
(
md
)
md
->
briefDescription
().
isEmpty
()
&&
md
->
inbodyDocumentation
().
isEmpty
()
)
)
{
{
//printf("First member %s has documentation!\n",md->name().data());
//printf("checking md=%s\n",md->name().data());
MemberDef
*
omd
=
memberList
->
next
();
// find the first member of the group with documentation
if
(
!
md
->
documentation
().
isEmpty
()
||
!
md
->
briefDescription
().
isEmpty
()
||
!
md
->
inbodyDocumentation
().
isEmpty
()
)
{
//printf("found it!\n");
break
;
}
md
=
memberList
->
next
();
}
if
(
md
)
// distribute docs of md to other members of the list
{
//printf("Member %s has documentation!\n",md->name().data());
MemberDef
*
omd
=
memberList
->
first
();
while
(
omd
)
while
(
omd
)
{
{
if
(
omd
->
documentation
().
isEmpty
()
&&
omd
->
briefDescription
().
isEmpty
()
&&
omd
->
inbodyDocumentation
().
isEmpty
())
if
(
md
!=
omd
&&
omd
->
documentation
().
isEmpty
()
&&
omd
->
briefDescription
().
isEmpty
()
&&
omd
->
inbodyDocumentation
().
isEmpty
()
)
{
{
//printf("Copying documentation to member %s\n",omd->name().data());
//printf("Copying documentation to member %s\n",omd->name().data());
omd
->
setBriefDescription
(
md
->
briefDescription
(),
md
->
briefFile
(),
md
->
briefLine
());
omd
->
setBriefDescription
(
md
->
briefDescription
(),
md
->
briefFile
(),
md
->
briefLine
());
...
...
src/perlmodgen.cpp
View file @
2f0a01b6
...
@@ -546,7 +546,7 @@ void PerlModDocVisitor::visit(DocSymbol *sy)
...
@@ -546,7 +546,7 @@ void PerlModDocVisitor::visit(DocSymbol *sy)
case
DocSymbol
:
:
Rdquo
:
c
=
'"'
;
break
;
case
DocSymbol
:
:
Rdquo
:
c
=
'"'
;
break
;
case
DocSymbol
:
:
Ndash
:
c
=
'-'
;
break
;
case
DocSymbol
:
:
Ndash
:
c
=
'-'
;
break
;
case
DocSymbol
:
:
Mdash
:
s
=
"--"
;
break
;
case
DocSymbol
:
:
Mdash
:
s
=
"--"
;
break
;
case
DocSymbol
:
:
Nbsp
:
c
=
''
;
break
;
case
DocSymbol
:
:
Nbsp
:
c
=
'
'
;
break
;
case
DocSymbol
:
:
Uml
:
accent
=
"umlaut"
;
break
;
case
DocSymbol
:
:
Uml
:
accent
=
"umlaut"
;
break
;
case
DocSymbol
:
:
Acute
:
accent
=
"acute"
;
break
;
case
DocSymbol
:
:
Acute
:
accent
=
"acute"
;
break
;
case
DocSymbol
:
:
Grave
:
accent
=
"grave"
;
break
;
case
DocSymbol
:
:
Grave
:
accent
=
"grave"
;
break
;
...
...
src/scanner.l
View file @
2f0a01b6
...
@@ -644,6 +644,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -644,6 +644,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
%x PackageName
%x PackageName
%x JavaImport
%x JavaImport
%x CSAccessorDecl
%x CSAccessorDecl
%x CSGeneric
%x PreLineCtrl
%x PreLineCtrl
%x DefinePHP
%x DefinePHP
%x DefinePHPEnd
%x DefinePHPEnd
...
@@ -2725,11 +2726,17 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -2725,11 +2726,17 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
}
}
}
<IDLAttribute>"propput" {
<IDLAttribute>"propput" {
current->mtype = Property;
if (Config_getBool("IDL_PROPERTY_SUPPORT"))
{
current->mtype = Property;
}
current->spec |= Entry::Settable;
current->spec |= Entry::Settable;
}
}
<IDLAttribute>"propget" {
<IDLAttribute>"propget" {
current->mtype = Property;
if (Config_getBool("IDL_PROPERTY_SUPPORT"))
{
current->mtype = Property;
}
current->spec |= Entry::Gettable;
current->spec |= Entry::Gettable;
}
}
<IDLAttribute>. {
<IDLAttribute>. {
...
@@ -2744,7 +2751,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -2744,7 +2751,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
BEGIN( IDLProp );
BEGIN( IDLProp );
}
}
<IDLProp>{BN}*"["[^\]]*"]"{BN}* { // attribute of a parameter
<IDLProp>{BN}*"["[^\]]*"]"{BN}* { // attribute of a parameter
idlAttr += yytext;
idlAttr = yytext;
idlAttr=idlAttr.stripWhiteSpace();
}
}
<IDLProp>{ID} { // property type
<IDLProp>{ID} { // property type
idlProp = yytext;
idlProp = yytext;
...
@@ -2781,7 +2789,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -2781,7 +2789,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
BEGIN( FindMembers );
BEGIN( FindMembers );
}
}
<IDLProp>. { // spaces, *, or other stuff
<IDLProp>. { // spaces, *, or other stuff
idlProp+=yytext;
//
idlProp+=yytext;
}
}
<Array>"]" { current->args += *yytext ;
<Array>"]" { current->args += *yytext ;
if (--squareCount<=0)
if (--squareCount<=0)
...
@@ -4273,11 +4281,31 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -4273,11 +4281,31 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
{
{
BEGIN( ObjCProtocolList );
BEGIN( ObjCProtocolList );
}
}
else if (insideCS) // C# generic class
{
BEGIN( CSGeneric );
}
else // C++ template specialization
else // C++ template specialization
{
{
BEGIN( ClassTemplSpec );
BEGIN( ClassTemplSpec );
}
}
}
}
<CSGeneric>"<" {
if (current->tArgLists==0)
{
current->tArgLists = new QList<ArgumentList>;
current->tArgLists->setAutoDelete(TRUE);
}
ArgumentList *al = new ArgumentList;
current->spec |= Entry::Template;
current->tArgLists->append(al);
currentArgumentList = al;
templateStr="<";
fullArgString = templateStr;
copyArgString = &templateStr;
currentArgumentContext = CompoundName;
BEGIN( ReadTempArgs );
}
<ObjCProtocolList>"<" {
<ObjCProtocolList>"<" {
insideProtocolList=TRUE;
insideProtocolList=TRUE;
BEGIN( Bases );
BEGIN( Bases );
...
...
src/translator_fi.h
View file @
2f0a01b6
This diff is collapsed.
Click to expand it.
src/translator_fr.h
View file @
2f0a01b6
...
@@ -158,7 +158,7 @@ class TranslatorFrench : public TranslatorAdapter_1_5_4
...
@@ -158,7 +158,7 @@ class TranslatorFrench : public TranslatorAdapter_1_5_4
/*! header that is put before the list of typedefs. */
/*! header that is put before the list of typedefs. */
virtual
QCString
trMemberTypedefDocumentation
()
virtual
QCString
trMemberTypedefDocumentation
()
{
{
return
"Documentation des définition de type membres"
;
}
return
"Documentation des définition
s
de type membres"
;
}
/*! header that is put before the list of enumerations. */
/*! header that is put before the list of enumerations. */
virtual
QCString
trMemberEnumerationDocumentation
()
virtual
QCString
trMemberEnumerationDocumentation
()
...
...
src/util.cpp
View file @
2f0a01b6
...
@@ -1909,6 +1909,10 @@ QCString tempArgListToString(ArgumentList *al)
...
@@ -1909,6 +1909,10 @@ QCString tempArgListToString(ArgumentList *al)
{
{
result
+=
a
->
type
.
right
(
a
->
type
.
length
()
-
i
-
1
);
result
+=
a
->
type
.
right
(
a
->
type
.
length
()
-
i
-
1
);
}
}
else
// nothing found -> take whole name
{
result
+=
a
->
type
;
}
}
}
a
=
al
->
next
();
a
=
al
->
next
();
if
(
a
)
result
+=
", "
;
if
(
a
)
result
+=
", "
;
...
...
src/vhdldocgen.cpp
View file @
2f0a01b6
...
@@ -1153,7 +1153,7 @@ void VhdlDocGen::getFuncParams(QList<Argument>& ql, const char* str)
...
@@ -1153,7 +1153,7 @@ void VhdlDocGen::getFuncParams(QList<Argument>& ql, const char* str)
arg
->
attrib
=
s1
.
stripWhiteSpace
();
arg
->
attrib
=
s1
.
stripWhiteSpace
();
arg
->
name
=
(
tt
.
last
()).
stripWhiteSpace
();
arg
->
name
=
(
tt
.
last
()).
stripWhiteSpace
();
//
printf("--proto \n [%s] [%s] [%s] [%s] [%s]",ttype.data(),arg->type.data(),arg->attrib.data(),arg->name.data(),s1.data());
// printf("--proto \n [%s] [%s] [%s] [%s] [%s]",ttype.data(),arg->type.data(),arg->attrib.data(),arg->name.data(),s1.data());
ql
.
append
(
arg
);
ql
.
append
(
arg
);
}
}
kk
--
;
kk
--
;
...
@@ -1438,7 +1438,7 @@ void VhdlDocGen::writeProcedureProto(OutputList& ol,const ArgumentList* al,const
...
@@ -1438,7 +1438,7 @@ void VhdlDocGen::writeProcedureProto(OutputList& ol,const ArgumentList* al,const
ol
.
docify
(
" )"
);
ol
.
docify
(
" )"
);
}
// writePorcedure
}
/*!
/*!
* writes a function prototype to the output
* writes a function prototype to the output
...
...
src/vhdlscanner.l
View file @
2f0a01b6
...
@@ -83,6 +83,7 @@ static int scantype = 0;
...
@@ -83,6 +83,7 @@ static int scantype = 0;
static int g_lastCommentContext = 0;
static int g_lastCommentContext = 0;
static bool docBlockAutoBrief;
static bool docBlockAutoBrief;
static char docBlockTerm;
static char docBlockTerm;
static int iDocLine = -1;
//#define YY_A_INTERACTIVE 1
//#define YY_A_INTERACTIVE 1
#define YY_NEVER_INTERACTIVE 1
#define YY_NEVER_INTERACTIVE 1
...
@@ -122,8 +123,7 @@ static void addText (char *word, int llen)
...
@@ -122,8 +123,7 @@ static void addText (char *word, int llen)
{
{
while (llen>0)
while (llen>0)
{
{
g_buf[iCounter]=*word;
g_buf[iCounter]=*word++;
*word++;
iCounter++;
iCounter++;
llen--;
llen--;
}
}
...
@@ -384,7 +384,7 @@ static void parseFunctionProto()
...
@@ -384,7 +384,7 @@ static void parseFunctionProto()
{
{
current->args+=",";
current->args+=",";
}
}
Argument *arg=new Argument
()
;
Argument *arg=new Argument;
Argument *hh=(Argument*)ql.at(k);
Argument *hh=(Argument*)ql.at(k);
arg->name=hh->name;
arg->name=hh->name;
arg->type=hh->type;
arg->type=hh->type;
...
@@ -437,6 +437,7 @@ void parserInit()
...
@@ -437,6 +437,7 @@ void parserInit()
lastEntity=0;
lastEntity=0;
bropen=0;
bropen=0;
openGroups=0;
openGroups=0;
iDocLine=-1;
//isPrevDoc=FALSE;
//isPrevDoc=FALSE;
//prevDocEntry.reset();
//prevDocEntry.reset();
qrl.clear();
qrl.clear();
...
@@ -446,10 +447,9 @@ void parserInit()
...
@@ -446,10 +447,9 @@ void parserInit()
VhdlDocGen::init();
VhdlDocGen::init();
}
}
uint SSIZE=inputFile.size()+1024;
uint SSIZE=inputFile.size()+1024;
if (g_buf==0)
if (g_buf==0)
free(g_buf);
g_buf=(char*)(calloc(SSIZE,sizeof(char)));
g_buf=(char*)(calloc(SSIZE,sizeof(char)));
if (g_buf==0)
if (g_buf==0)
{
{
...
@@ -1367,6 +1367,7 @@ ALLID [^;()\t ]
...
@@ -1367,6 +1367,7 @@ ALLID [^;()\t ]
*/
*/
<*>{BR}*"--!"[^{}\n][^\n]*\n/{B}*"--!" { // multi line comment
<*>{BR}*"--!"[^{}\n][^\n]*\n/{B}*"--!" { // multi line comment
if (iDocLine==-1) iDocLine=yyLineNr;
if (YY_START!=Comment) // Start of the comment block
if (YY_START!=Comment) // Start of the comment block
{
{
iTextCounter=iCounter;
iTextCounter=iCounter;
...
@@ -1379,6 +1380,7 @@ ALLID [^;()\t ]
...
@@ -1379,6 +1380,7 @@ ALLID [^;()\t ]
}
}
<Comment>^{B}*"--!"[^\n]* {
<Comment>^{B}*"--!"[^\n]* {
if (iDocLine==-1) iDocLine=yyLineNr;
addText(vhdlscanYYtext,vhdlscanYYleng);
addText(vhdlscanYYtext,vhdlscanYYleng);
lineCount();
lineCount();
}
}
...
@@ -1395,6 +1397,7 @@ ALLID [^;()\t ]
...
@@ -1395,6 +1397,7 @@ ALLID [^;()\t ]
}
}
<*>^{B}*"--!"[^\n]* { // one line comment
<*>^{B}*"--!"[^\n]* { // one line comment
if (iDocLine==-1) iDocLine=yyLineNr;
QCString qcs(yytext);
QCString qcs(yytext);
int j=qcs.find("--!");
int j=qcs.find("--!");
qcs=qcs.right(qcs.length()-3-j);
qcs=qcs.right(qcs.length()-3-j);
...
@@ -1451,13 +1454,18 @@ static void handleCommentBlock(const QCString &doc,bool brief)
...
@@ -1451,13 +1454,18 @@ static void handleCommentBlock(const QCString &doc,bool brief)
int position=0;
int position=0;
bool needsEntry=FALSE;
bool needsEntry=FALSE;
Protection protection=Public;
Protection protection=Public;
if (brief)
current->briefLine = iDocLine;
else
current->docLine = iDocLine;
//printf("parseCommentBlock %p [%s]\n",current,doc.data());
//printf("parseCommentBlock %p [%s]\n",current,doc.data());
while (parseCommentBlock(
while (parseCommentBlock(
g_thisParser,
g_thisParser,
current,
current,
doc, // text
doc, // text
yyFileName, // file
yyFileName, // file
brief ? current->briefLine : current->d
ocLine, // line of block start
iD
ocLine, // line of block start
brief,
brief,
docBlockAutoBrief,
docBlockAutoBrief,
FALSE,
FALSE,
...
@@ -1480,6 +1488,7 @@ static void handleCommentBlock(const QCString &doc,bool brief)
...
@@ -1480,6 +1488,7 @@ static void handleCommentBlock(const QCString &doc,bool brief)
unput(docBlockTerm);
unput(docBlockTerm);
docBlockTerm=0;
docBlockTerm=0;
}
}
iDocLine=-1;
}
}
#if 0
#if 0
...
@@ -1668,6 +1677,7 @@ void VHDLLanguageScanner::parseInput(const char *fileName,const char *fileBuf,En
...
@@ -1668,6 +1677,7 @@ void VHDLLanguageScanner::parseInput(const char *fileName,const char *fileBuf,En
current=0;
current=0;
groupLeaveFile(yyFileName,yyLineNr);
groupLeaveFile(yyFileName,yyLineNr);
inputFile.close();
//mergeBrief(current_root);
//mergeBrief(current_root);
//mergeGrouping(current_root,0);
//mergeGrouping(current_root,0);
...
...
src/xmlgen.cpp
View file @
2f0a01b6
...
@@ -1238,7 +1238,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
...
@@ -1238,7 +1238,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
{
{
t
<<
convertToXML
(
t
<<
convertToXML
(
insertTemplateSpecifierInScope
(
insertTemplateSpecifierInScope
(
bcd
->
classDef
->
displayN
ame
(),
bcd
->
templSpecifiers
)
bcd
->
classDef
->
n
ame
(),
bcd
->
templSpecifiers
)
);
);
}
}
else
else
...
...
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