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
b91275de
Commit
b91275de
authored
Sep 10, 2000
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-20000910
parent
6838640c
Changes
38
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
1434 additions
and
471 deletions
+1434
-471
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
configgen.cpp
addon/configgen/configgen.cpp
+18
-7
config.doc
doc/config.doc
+47
-2
faq.doc
doc/faq.doc
+10
-0
features.doc
doc/features.doc
+1
-1
index.doc
doc/index.doc
+2
-2
language.doc
doc/language.doc
+31
-4
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+17
-5
classdef.h
src/classdef.h
+1
-0
config.h
src/config.h
+2
-1
config.l
src/config.l
+20
-3
definition.h
src/definition.h
+1
-1
doc.l
src/doc.l
+8
-1
dot.cpp
src/dot.cpp
+1
-1
doxygen.cpp
src/doxygen.cpp
+34
-24
doxygen.h
src/doxygen.h
+1
-0
doxygen.pro.in
src/doxygen.pro.in
+1
-1
entry.cpp
src/entry.cpp
+2
-4
entry.h
src/entry.h
+4
-2
filedef.cpp
src/filedef.cpp
+2
-4
filedef.h
src/filedef.h
+5
-2
index.cpp
src/index.cpp
+3
-3
language.cpp
src/language.cpp
+5
-0
latexgen.cpp
src/latexgen.cpp
+2
-1
memberdef.cpp
src/memberdef.cpp
+2
-0
memberdef.h
src/memberdef.h
+3
-1
memberlist.cpp
src/memberlist.cpp
+2
-1
rtfgen.cpp
src/rtfgen.cpp
+5
-5
scanner.l
src/scanner.l
+55
-46
translator.h
src/translator.h
+93
-0
translator_cz.h
src/translator_cz.h
+190
-244
translator_hr.h
src/translator_hr.h
+26
-95
translator_kr.h
src/translator_kr.h
+803
-0
util.cpp
src/util.cpp
+30
-4
util.h
src/util.h
+1
-0
No files found.
INSTALL
View file @
b91275de
DOXYGEN Version 1.2.1-20000
829
DOXYGEN Version 1.2.1-20000
910
Please read the installation section of the manual for instructions.
Please read the installation section of the manual for instructions.
--------
--------
Dimitri van Heesch (
29 August
2000)
Dimitri van Heesch (
10 September
2000)
README
View file @
b91275de
DOXYGEN Version 1.2.1-20000
829
DOXYGEN Version 1.2.1-20000
910
Please read INSTALL for compilation instructions.
Please read INSTALL for compilation instructions.
...
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
...
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Enjoy,
Dimitri van Heesch (
29 August
2000)
Dimitri van Heesch (
10 September
2000)
VERSION
View file @
b91275de
1.2.1-20000
829
1.2.1-20000
910
addon/configgen/configgen.cpp
View file @
b91275de
...
@@ -775,7 +775,7 @@ void init()
...
@@ -775,7 +775,7 @@ void init()
"information to generate all constant output in the proper language.
\n
"
"information to generate all constant output in the proper language.
\n
"
"The default language is English, other supported languages are:
\n
"
"The default language is English, other supported languages are:
\n
"
"Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
\n
"
"Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
\n
"
"Spanish, Russian, Croatian, Polish, and Portuguese.
\n
"
"
Korean, Hungarian,
Spanish, Russian, Croatian, Polish, and Portuguese.
\n
"
);
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"English"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"English"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Dutch"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Dutch"
);
...
@@ -785,7 +785,9 @@ void init()
...
@@ -785,7 +785,9 @@ void init()
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Swedish"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Swedish"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"German"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"German"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Finnish"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Finnish"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Hungarian"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Japanese"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Japanese"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Korean"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Spanish"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Spanish"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Russian"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Russian"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Croatian"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Croatian"
);
...
@@ -920,11 +922,11 @@ void init()
...
@@ -920,11 +922,11 @@ void init()
"CASE_SENSE_NAMES"
,
"CASE_SENSE_NAMES"
,
"TRUE"
,
"TRUE"
,
"determines if output can be mixed case."
,
"determines if output can be mixed case."
,
"If the CASE_SENSE_NAMES tag is set to NO
(the default) then Doxygen
\n
"
"If the CASE_SENSE_NAMES tag is set to NO
then Doxygen will only generate
\n
"
"
will only generate file names in lower case letters. If set t
o
\n
"
"
file names in lower case letters. If set to YES upper case letters are als
o
\n
"
"
YES upper case letters are also allowed. This is useful if you have
\n
"
"
allowed. This is useful if you have classes or files whose names only differ
\n
"
"
classes or files whose names only differ in case and if your file system
\n
"
"
in case and if your file system supports case sensitive file names. Windows
\n
"
"
supports case sensitive file names.
\n
"
"
users are adviced to set this option to NO.
\n
"
);
);
ConfigBool
::
add
(
"hideScopeNames"
,
ConfigBool
::
add
(
"hideScopeNames"
,
"HIDE_SCOPE_NAMES"
,
"HIDE_SCOPE_NAMES"
,
...
@@ -983,6 +985,15 @@ void init()
...
@@ -983,6 +985,15 @@ void init()
"alphabetically by member name. If set to NO the members will appear in
\n
"
"alphabetically by member name. If set to NO the members will appear in
\n
"
"declaration order.
\n
"
"declaration order.
\n
"
);
);
ConfigBool
::
add
(
"distributeDocFlag"
,
"DISTRIBUTE_GROUP_DOC"
,
"FALSE"
,
"distribute docs over member group?"
,
"If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
\n
"
"tag is set to YES, then doxygen will reuse the documentation of the first
\n
"
"member in the group (if any) for the other members of the group. By default
\n
"
"all members of a group must be documented explicitly.
\n
"
);
ConfigInt
::
add
(
"tabSize"
,
ConfigInt
::
add
(
"tabSize"
,
"TAB_SIZE"
,
"TAB_SIZE"
,
"8"
,
"8"
,
...
@@ -1019,7 +1030,7 @@ void init()
...
@@ -1019,7 +1030,7 @@ void init()
""
,
""
,
"list of aliases"
,
"list of aliases"
,
"This tag can be used to specify a number of aliases that acts
\n
"
"This tag can be used to specify a number of aliases that acts
\n
"
"as commands in the documentation. An alias has the form
\"
\\
name=value
\"
.
\n
"
"as commands in the documentation. An alias has the form
\"
name=value
\"
.
\n
"
"For example adding
\"
sideeffect=
\\
par Side Effects:
\\
n
\"
will allow you to
\n
"
"For example adding
\"
sideeffect=
\\
par Side Effects:
\\
n
\"
will allow you to
\n
"
"put the command
\\
sideeffect (or @sideeffect) in the documentation, which
\n
"
"put the command
\\
sideeffect (or @sideeffect) in the documentation, which
\n
"
"will result in a user defined paragraph with heading
\"
Side Effects:
\"
.
\n
"
"will result in a user defined paragraph with heading
\"
Side Effects:
\"
.
\n
"
...
...
doc/config.doc
View file @
b91275de
...
@@ -66,6 +66,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -66,6 +66,7 @@ followed by the descriptions of the tags grouped by category.
\
begin
{
multicols
}{
3
}
\
begin
{
multicols
}{
3
}
\
begin
{
CompactList
}
\
begin
{
CompactList
}
\
endlatexonly
\
endlatexonly
<
li
>
\
refitem
cfg_aliases
ALIASES
<
li
>
\
refitem
cfg_allexternals
ALLEXTERNALS
<
li
>
\
refitem
cfg_allexternals
ALLEXTERNALS
<
li
>
\
refitem
cfg_alphabetical_index
ALPHABETICAL_INDEX
<
li
>
\
refitem
cfg_alphabetical_index
ALPHABETICAL_INDEX
<
li
>
\
refitem
cfg_always_detailed_sec
ALWAYS_DETAILED_SEC
<
li
>
\
refitem
cfg_always_detailed_sec
ALWAYS_DETAILED_SEC
...
@@ -81,6 +82,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -81,6 +82,7 @@ followed by the descriptions of the tags grouped by category.
<
li
>
\
refitem
cfg_compact_latex
COMPACT_LATEX
<
li
>
\
refitem
cfg_compact_latex
COMPACT_LATEX
<
li
>
\
refitem
cfg_compact_rtf
COMPACT_RTF
<
li
>
\
refitem
cfg_compact_rtf
COMPACT_RTF
<
li
>
\
refitem
cfg_disable_index
DISABLE_INDEX
<
li
>
\
refitem
cfg_disable_index
DISABLE_INDEX
<
li
>
\
refitem
cfg_distribute_group_doc
DISTRIBUTE_GROUP_DOC
<
li
>
\
refitem
cfg_doc_abspath
DOC_ABSPATH
<
li
>
\
refitem
cfg_doc_abspath
DOC_ABSPATH
<
li
>
\
refitem
cfg_doc_url
DOC_URL
<
li
>
\
refitem
cfg_doc_url
DOC_URL
<
li
>
\
refitem
cfg_dot_path
DOT_PATH
<
li
>
\
refitem
cfg_dot_path
DOT_PATH
...
@@ -104,6 +106,8 @@ followed by the descriptions of the tags grouped by category.
...
@@ -104,6 +106,8 @@ followed by the descriptions of the tags grouped by category.
<
li
>
\
refitem
cfg_generate_man
GENERATE_MAN
<
li
>
\
refitem
cfg_generate_man
GENERATE_MAN
<
li
>
\
refitem
cfg_generate_rtf
GENERATE_RTF
<
li
>
\
refitem
cfg_generate_rtf
GENERATE_RTF
<
li
>
\
refitem
cfg_generate_tagfile
GENERATE_TAGFILE
<
li
>
\
refitem
cfg_generate_tagfile
GENERATE_TAGFILE
<
li
>
\
refitem
cfg_generate_testlist
GENERATE_TESTLIST
<
li
>
\
refitem
cfg_generate_todolist
GENERATE_TODOLIST
<
li
>
\
refitem
cfg_graphical_hierarchy
GRAPHICAL_HIERARCHY
<
li
>
\
refitem
cfg_graphical_hierarchy
GRAPHICAL_HIERARCHY
<
li
>
\
refitem
cfg_have_dot
HAVE_DOT
<
li
>
\
refitem
cfg_have_dot
HAVE_DOT
<
li
>
\
refitem
cfg_hide_scope_names
HIDE_SCOPE_NAMES
<
li
>
\
refitem
cfg_hide_scope_names
HIDE_SCOPE_NAMES
...
@@ -203,8 +207,8 @@ followed by the descriptions of the tags grouped by category.
...
@@ -203,8 +207,8 @@ followed by the descriptions of the tags grouped by category.
documentation
generated
by
doxygen
is
written
.
Doxygen
will
use
this
documentation
generated
by
doxygen
is
written
.
Doxygen
will
use
this
information
to
generate
all
constant
output
in
the
proper
language
.
information
to
generate
all
constant
output
in
the
proper
language
.
The
default
language
is
English
,
other
supported
languages
are
:
The
default
language
is
English
,
other
supported
languages
are
:
Dutch
,
French
,
Italian
,
Czech
,
Swedish
,
German
,
Finnish
,
Japanese
,
Dutch
,
French
,
Italian
,
Czech
,
Swedish
,
German
,
Finnish
,
Hungarian
,
Japanese
,
Spanish
,
Russian
,
Croatian
,
Polish
and
Portuguese
.
Korean
,
Spanish
,
Russian
,
Croatian
,
Polish
and
Portuguese
.
\
anchor
cfg_disable_index
\
anchor
cfg_disable_index
<
dt
>\
c
DISABLE_INDEX
<
dd
>
<
dt
>\
c
DISABLE_INDEX
<
dd
>
...
@@ -392,6 +396,14 @@ followed by the descriptions of the tags grouped by category.
...
@@ -392,6 +396,14 @@ followed by the descriptions of the tags grouped by category.
alphabetically
by
member
name
.
If
set
to
\
c
NO
the
members
will
appear
in
alphabetically
by
member
name
.
If
set
to
\
c
NO
the
members
will
appear
in
declaration
order
.
declaration
order
.
\
anchor
cfg_distribute_group_doc
<
dt
>\
c
DISTRIBUTE_GROUP_DOC
<
dd
>
\
addindex
DISTRIBUTE_GROUP_DOC
If
member
grouping
is
used
in
the
documentation
and
the
DISTRIBUTE_GROUP_DOC
tag
is
set
to
YES
,
then
doxygen
will
reuse
the
documentation
of
the
first
member
in
the
group
(
if
any
)
for
the
other
members
of
the
group
.
By
default
all
members
of
a
group
must
be
documented
explicitly
.
\
anchor
cfg_tab_size
\
anchor
cfg_tab_size
<
dt
>\
c
TAB_SIZE
<
dd
>
<
dt
>\
c
TAB_SIZE
<
dd
>
\
addindex
TAB_SIZE
\
addindex
TAB_SIZE
...
@@ -405,6 +417,39 @@ followed by the descriptions of the tags grouped by category.
...
@@ -405,6 +417,39 @@ followed by the descriptions of the tags grouped by category.
documentation
sections
,
marked
by
\
ref
cmdif
"
\\
if"
\<
section
-
label
\>
...
documentation
sections
,
marked
by
\
ref
cmdif
"
\\
if"
\<
section
-
label
\>
...
\
ref
cmdendif
"
\\
endif"
blocks
.
\
ref
cmdendif
"
\\
endif"
blocks
.
\
anchor
cfg_generate_todolist
<
dt
>\
c
GENERATE_TODOLIST
<
dd
>
\
addindex
GENERATE_TODOLIST
The
GENERATE_TODOLIST
tag
can
be
used
to
enable
(
YES
)
or
disable
(
NO
)
the
todo
list
.
This
list
is
created
by
putting
\
ref
cmdtodo
"
\\
todo"
commands
in
the
documentation
.
\
anchor
cfg_generate_testlist
<
dt
>\
c
GENERATE_TESTLIST
<
dd
>
\
addindex
GENERATE_TESTLIST
The
GENERATE_TESTLIST
tag
can
be
used
to
enable
(
YES
)
or
disable
(
NO
)
the
test
list
.
This
list
is
created
by
putting
\
ref
cmdtest
"
\\
test"
commands
in
the
documentation
.
\
anchor
cfg_aliases
<
dt
>\
c
ALIASES
<
dd
>
\
addindex
ALIASES
This
tag
can
be
used
to
specify
a
number
of
aliases
that
acts
as
commands
in
the
documentation
.
An
alias
has
the
form
\
verbatim
name
=
value
\
endverbatim
For
example
adding
\
verbatim
"sideeffect=\par Side Effects:
\n
"
\
endverbatim
will
allow
you
to
put
the
command
\\
sideeffect
(
or
\@
sideeffect
)
in
the
documentation
,
which
will
result
in
a
user
defined
paragraph
with
heading
"Side Effects:"
.
You
can
put
\\
n
's in the value part of an alias to insert newlines.
Predefined commands cannot be overwritten using aliases.
</dl>
</dl>
\subsection messages_input Options related to warning and progress messages
\subsection messages_input Options related to warning and progress messages
...
...
doc/faq.doc
View file @
b91275de
...
@@ -169,6 +169,16 @@ EXCLUDE_PATTERNS = */test/*
...
@@ -169,6 +169,16 @@ EXCLUDE_PATTERNS = */test/*
Put a \% in front of the class name. Like this: \%MyClass. Doxygen will then
Put a \% in front of the class name. Like this: \%MyClass. Doxygen will then
remove the % and keep the word unlinked.
remove the % and keep the word unlinked.
<li><b>Help! I get the cryptic message
"input buffer overflow, can't enlarge buffer because scanner uses REJECT"</b>
This error happens when doxygen lexical scanner has a rules that matches
more than 16K input character in one go. I've seen this happening
on a very large generated file (>16K lines), where the built-in preprocessor
converted it into an empty file (with >16K of newlines). Another case
where this might happen is if you have lines in you code with more than
16K characters.
</ol>
</ol>
\htmlonly
\htmlonly
...
...
doc/features.doc
View file @
b91275de
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
<li>Requires very little overhead from the writer of the documentation.
<li>Requires very little overhead from the writer of the documentation.
Plain text will do, but for more fancy or structured output HTML tags
Plain text will do, but for more fancy or structured output HTML tags
and/or some of doxygen's special commands can be used.
and/or some of doxygen's special commands can be used.
<li>Supports C++, (Corba
and Microsoft
) IDL and C sources.
<li>Supports C++, (Corba
, Microsoft, and KDE-DCOP
) IDL and C sources.
<li>Supports documentation of files, namespaces, classes, structs, unions,
<li>Supports documentation of files, namespaces, classes, structs, unions,
templates, variables, functions, typedefs, enums and defines.
templates, variables, functions, typedefs, enums and defines.
<li>JavaDoc (1.1), Qt-Doc, and KDOC compatible.
<li>JavaDoc (1.1), Qt-Doc, and KDOC compatible.
...
...
doc/index.doc
View file @
b91275de
...
@@ -49,8 +49,8 @@ Documents produced by Doxygen are derivative works derived from the
...
@@ -49,8 +49,8 @@ Documents produced by Doxygen are derivative works derived from the
input used in their production; they are not affected by this license.
input used in their production; they are not affected by this license.
<h2>Introduction</h2>
<h2>Introduction</h2>
Doxygen is a documentation system for C++, IDL
(Corba and Microsoft flavors)
Doxygen is a documentation system for C++, IDL
and C.
(Corba, Microsoft and KDE-DCOP flavors)
and C.
It can help you in three ways:
It can help you in three ways:
<ol>
<ol>
...
...
doc/language.doc
View file @
b91275de
...
@@ -22,9 +22,9 @@ Doxygen has support for multiple languages. This means that the text fragments t
...
@@ -22,9 +22,9 @@ Doxygen has support for multiple languages. This means that the text fragments t
doxygen generates can changed into languages other than English
doxygen generates can changed into languages other than English
(the default) at configuration time.
(the default) at configuration time.
<p>
<p>
Currently, supported languages are English, French, Czech, Dutch,
Currently, supported languages are English, French, Czech, Dutch,
Spannish,
Swedish,
Italian, German and Japanese. A number
Swedish,
Russian, Czech, Croatian, Italian, Hungarian, Finnish, German and Japanese,
of people have volunteered to add support for other languages as well.
and Korean.
Here is a list of the languages and their current maintainers:
Here is a list of the languages and their current maintainers:
<p>
<p>
...
@@ -155,6 +155,30 @@ Here is a list of the languages and their current maintainers:
...
@@ -155,6 +155,30 @@ Here is a list of the languages and their current maintainers:
snob@NOSPAM.int.spb.ru</a>
snob@NOSPAM.int.spb.ru</a>
</TD>
</TD>
</TR>
</TR>
<TR BGCOLOR="#ffffff">
<TD>
Korean
</TD>
<TD>
Richard Kim
</TD>
<TD>
<a href="mailto:ryk@NOSPAM.dspwiz.com">
ryk@NOSPAM.dspwiz.com</a>
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>
Hungarian
</TD>
<TD>
Fldvri Gyrgy
</TD>
<TD>
<a href="mailto:foldvari@NOSPAM.diatronltd.com">
foldvari@NOSPAM.diatronltd.com</a>
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TR BGCOLOR="#ffffff">
<TD>
<TD>
Croatian
Croatian
...
@@ -167,7 +191,6 @@ Here is a list of the languages and their current maintainers:
...
@@ -167,7 +191,6 @@ Here is a list of the languages and their current maintainers:
boris.bralo@NOSPAM.zg.tel.hr</a>
boris.bralo@NOSPAM.zg.tel.hr</a>
</TD>
</TD>
</TR>
</TR>
<TR BGCOLOR="#ffffff">
<TR BGCOLOR="#ffffff">
<TD>
<TD>
Polish
Polish
...
@@ -225,6 +248,10 @@ Here is a list of the languages and their current maintainers:
...
@@ -225,6 +248,10 @@ Here is a list of the languages and their current maintainers:
\hline
\hline
Russian & Nickolay Semyonov & {\tt snob@int.spb.ru} \\
Russian & Nickolay Semyonov & {\tt snob@int.spb.ru} \\
\hline
\hline
Korean & Richard Kim & {\\tt ryk@dspwiz.com} \\
\hline
Hungarian & Fldvri Gyrgy & {\\tt foldvari@diatronltd.com} \\
\hline
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} \\
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} \\
\hline
\hline
Polish & Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} \\
Polish & Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} \\
...
...
packages/rpm/doxygen.spec
View file @
b91275de
Name: doxygen
Name: doxygen
Version: 1.2.1-20000
829
Version: 1.2.1-20000
910
Summary: documentation system for C, C++ and IDL
Summary: documentation system for C, C++ and IDL
Release: 1
Release: 1
Source0: doxygen-%{version}.src.tar.gz
Source0: doxygen-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
b91275de
...
@@ -178,6 +178,7 @@ void ClassDef::addMembersToMemberGroup()
...
@@ -178,6 +178,7 @@ void ClassDef::addMembersToMemberGroup()
addMemberListToGroup
(
&
pubAttribs
);
addMemberListToGroup
(
&
pubAttribs
);
addMemberListToGroup
(
&
pubSlots
);
addMemberListToGroup
(
&
pubSlots
);
addMemberListToGroup
(
&
signals
);
addMemberListToGroup
(
&
signals
);
addMemberListToGroup
(
&
dcopMethods
);
addMemberListToGroup
(
&
pubStaticMembers
);
addMemberListToGroup
(
&
pubStaticMembers
);
addMemberListToGroup
(
&
pubStaticAttribs
);
addMemberListToGroup
(
&
pubStaticAttribs
);
addMemberListToGroup
(
&
proTypes
);
addMemberListToGroup
(
&
proTypes
);
...
@@ -219,11 +220,15 @@ void ClassDef::insertMember(MemberDef *md)
...
@@ -219,11 +220,15 @@ void ClassDef::insertMember(MemberDef *md)
{
{
switch
(
md
->
memberType
())
switch
(
md
->
memberType
())
{
{
case
MemberDef
:
:
Signal
:
case
MemberDef
:
:
Signal
:
// Qt specific
signals
.
append
(
md
);
signals
.
append
(
md
);
md
->
setSectionList
(
&
signals
);
md
->
setSectionList
(
&
signals
);
break
;
break
;
case
MemberDef
:
:
Slot
:
case
MemberDef
:
:
DCOP
:
// KDE2 specific
dcopMethods
.
append
(
md
);
md
->
setSectionList
(
&
dcopMethods
);
break
;
case
MemberDef
:
:
Slot
:
// Qt specific
switch
(
md
->
protection
())
switch
(
md
->
protection
())
{
{
case
Protected
:
case
Protected
:
...
@@ -358,7 +363,8 @@ void ClassDef::insertMember(MemberDef *md)
...
@@ -358,7 +363,8 @@ void ClassDef::insertMember(MemberDef *md)
{
{
switch
(
md
->
memberType
())
switch
(
md
->
memberType
())
{
{
case
MemberDef
:
:
Signal
:
case
MemberDef
:
:
Signal
:
// fall through
case
MemberDef
:
:
DCOP
:
if
(
Config
::
sortMembersFlag
)
if
(
Config
::
sortMembersFlag
)
functionMembers
.
inSort
(
md
);
functionMembers
.
inSort
(
md
);
else
else
...
@@ -511,6 +517,7 @@ void ClassDef::computeAnchors()
...
@@ -511,6 +517,7 @@ void ClassDef::computeAnchors()
setAnchors
(
's'
,
&
pubTypes
);
setAnchors
(
's'
,
&
pubTypes
);
setAnchors
(
't'
,
&
proTypes
);
setAnchors
(
't'
,
&
proTypes
);
setAnchors
(
'u'
,
&
priTypes
);
setAnchors
(
'u'
,
&
priTypes
);
setAnchors
(
'v'
,
&
dcopMethods
);
}
}
void
ClassDef
::
distributeMemberGroupDocumentation
()
void
ClassDef
::
distributeMemberGroupDocumentation
()
...
@@ -857,6 +864,8 @@ void ClassDef::writeDocumentation(OutputList &ol)
...
@@ -857,6 +864,8 @@ void ClassDef::writeDocumentation(OutputList &ol)
pubAttribs
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trPublicAttribs
(),
0
);
pubAttribs
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trPublicAttribs
(),
0
);
pubSlots
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trPublicSlots
(),
0
);
pubSlots
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trPublicSlots
(),
0
);
signals
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trSignals
(),
0
);
signals
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trSignals
(),
0
);
dcopMethods
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trDCOPMethods
(),
0
);
// static public members
// static public members
pubStaticMembers
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trStaticPublicMembers
(),
0
);
pubStaticMembers
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trStaticPublicMembers
(),
0
);
pubStaticAttribs
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trStaticPublicAttribs
(),
0
);
pubStaticAttribs
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trStaticPublicAttribs
(),
0
);
...
@@ -1066,7 +1075,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
...
@@ -1066,7 +1075,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol
.
docify
(
stripFromPath
(
path
));
ol
.
docify
(
stripFromPath
(
path
));
}
}
if
(
fd
->
generateSource
()
||
(
!
fd
->
isReference
()
&&
Config
::
sourceBrowseFlag
))
if
(
fd
->
generateSource
File
(
))
{
{
ol
.
writeObjectLink
(
0
,
fd
->
sourceName
(),
0
,
fd
->
name
());
ol
.
writeObjectLink
(
0
,
fd
->
sourceName
(),
0
,
fd
->
name
());
}
}
...
@@ -1340,6 +1349,7 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup)
...
@@ -1340,6 +1349,7 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup)
pubAttribs
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pubAttribs
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pubSlots
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pubSlots
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
signals
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
signals
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
dcopMethods
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pubStaticMembers
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pubStaticMembers
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pubStaticAttribs
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pubStaticAttribs
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
proTypes
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
proTypes
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
...
@@ -1856,7 +1866,8 @@ void ClassDef::generateXML(QTextStream &t)
...
@@ -1856,7 +1866,8 @@ void ClassDef::generateXML(QTextStream &t)
}
}
int
numMembers
=
int
numMembers
=
pubTypes
.
count
()
+
pubMembers
.
count
()
+
pubAttribs
.
count
()
+
pubTypes
.
count
()
+
pubMembers
.
count
()
+
pubAttribs
.
count
()
+
pubSlots
.
count
()
+
signals
.
count
()
+
pubStaticMembers
.
count
()
+
pubSlots
.
count
()
+
signals
.
count
()
+
dcopMethods
.
count
()
+
pubStaticMembers
.
count
()
+
pubStaticAttribs
.
count
()
+
proTypes
.
count
()
+
proMembers
.
count
()
+
pubStaticAttribs
.
count
()
+
proTypes
.
count
()
+
proMembers
.
count
()
+
proAttribs
.
count
()
+
proSlots
.
count
()
+
proStaticMembers
.
count
()
+
proAttribs
.
count
()
+
proSlots
.
count
()
+
proStaticMembers
.
count
()
+
proStaticAttribs
.
count
()
+
priTypes
.
count
()
+
priMembers
.
count
()
+
proStaticAttribs
.
count
()
+
priTypes
.
count
()
+
priMembers
.
count
()
+
...
@@ -1870,6 +1881,7 @@ void ClassDef::generateXML(QTextStream &t)
...
@@ -1870,6 +1881,7 @@ void ClassDef::generateXML(QTextStream &t)
generateXMLSection
(
t
,
&
pubAttribs
,
"public-attrib"
);
generateXMLSection
(
t
,
&
pubAttribs
,
"public-attrib"
);
generateXMLSection
(
t
,
&
pubSlots
,
"public-slot"
);
generateXMLSection
(
t
,
&
pubSlots
,
"public-slot"
);
generateXMLSection
(
t
,
&
signals
,
"signal"
);
generateXMLSection
(
t
,
&
signals
,
"signal"
);
generateXMLSection
(
t
,
&
dcopMethods
,
"dcop-func"
);
generateXMLSection
(
t
,
&
pubStaticMembers
,
"public-static-func"
);
generateXMLSection
(
t
,
&
pubStaticMembers
,
"public-static-func"
);
generateXMLSection
(
t
,
&
pubStaticAttribs
,
"public-static-attrib"
);
generateXMLSection
(
t
,
&
pubStaticAttribs
,
"public-static-attrib"
);
generateXMLSection
(
t
,
&
proTypes
,
"protected-type"
);
generateXMLSection
(
t
,
&
proTypes
,
"protected-type"
);
...
...
src/classdef.h
View file @
b91275de
...
@@ -167,6 +167,7 @@ class ClassDef : public Definition
...
@@ -167,6 +167,7 @@ class ClassDef : public Definition
MemberList
related
;
MemberList
related
;
MemberList
signals
;
MemberList
signals
;
MemberList
friends
;
MemberList
friends
;
MemberList
dcopMethods
;
/* member list by types */
/* member list by types */
MemberList
constructors
;
MemberList
constructors
;
...
...
src/config.h
View file @
b91275de
/* This file was generated by configgen on
Fri Aug 25 21:22:11
2000
/* This file was generated by configgen on
Sat Sep 2 10:51:52
2000
* from config_templ.h
* from config_templ.h
*
*
* DO NOT EDIT!
* DO NOT EDIT!
...
@@ -64,6 +64,7 @@ struct Config
...
@@ -64,6 +64,7 @@ struct Config
static
bool
inheritDocsFlag
;
// inheritance of documentation enabled?
static
bool
inheritDocsFlag
;
// inheritance of documentation enabled?
static
bool
inlineInfoFlag
;
// show info about inline members?
static
bool
inlineInfoFlag
;
// show info about inline members?
static
bool
sortMembersFlag
;
// sort members alphabetically?
static
bool
sortMembersFlag
;
// sort members alphabetically?
static
bool
distributeDocFlag
;
// distribute docs over member group?
static
int
tabSize
;
// number of spaces in a tab
static
int
tabSize
;
// number of spaces in a tab
static
QStrList
sectionFilterList
;
// list of section filters that are enabled
static
QStrList
sectionFilterList
;
// list of section filters that are enabled
static
bool
generateTodoList
;
// do we want a todo list?
static
bool
generateTodoList
;
// do we want a todo list?
...
...
src/config.l
View file @
b91275de
/* This file was generated by configgen on
Fri Aug 25 21:22:11
2000
/* This file was generated by configgen on
Sat Sep 2 10:51:52
2000
* from config_templ.l
* from config_templ.l
*
*
* DO NOT EDIT!
* DO NOT EDIT!
...
@@ -101,6 +101,7 @@ bool Config::autoBriefFlag = TRUE;
...
@@ -101,6 +101,7 @@ bool Config::autoBriefFlag = TRUE;
bool Config::inheritDocsFlag = TRUE;
bool Config::inheritDocsFlag = TRUE;
bool Config::inlineInfoFlag = TRUE;
bool Config::inlineInfoFlag = TRUE;
bool Config::sortMembersFlag = TRUE;
bool Config::sortMembersFlag = TRUE;
bool Config::distributeDocFlag = FALSE;
int Config::tabSize = 8;
int Config::tabSize = 8;
QStrList Config::sectionFilterList;
QStrList Config::sectionFilterList;
bool Config::generateTodoList = TRUE;
bool Config::generateTodoList = TRUE;
...
@@ -357,6 +358,7 @@ static void readIncludeFile(const char *incName)
...
@@ -357,6 +358,7 @@ static void readIncludeFile(const char *incName)
<Start>"INHERIT_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::inheritDocsFlag; }
<Start>"INHERIT_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::inheritDocsFlag; }
<Start>"INLINE_INFO"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineInfoFlag; }
<Start>"INLINE_INFO"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineInfoFlag; }
<Start>"SORT_MEMBER_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::sortMembersFlag; }
<Start>"SORT_MEMBER_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::sortMembersFlag; }
<Start>"DISTRIBUTE_GROUP_DOC"[ \t]*"=" { BEGIN(GetBool); b=&Config::distributeDocFlag; }
<Start>"TAB_SIZE"[ \t]*"=" { BEGIN(GetString); s=&tabSizeString; s->resize(0); }
<Start>"TAB_SIZE"[ \t]*"=" { BEGIN(GetString); s=&tabSizeString; s->resize(0); }
<Start>"ENABLED_SECTIONS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::sectionFilterList; l->clear(); elemStr=""; }
<Start>"ENABLED_SECTIONS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::sectionFilterList; l->clear(); elemStr=""; }
<Start>"ENABLED_SECTIONS"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::sectionFilterList; elemStr=""; }
<Start>"ENABLED_SECTIONS"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::sectionFilterList; elemStr=""; }
...
@@ -587,6 +589,7 @@ void dumpConfig()
...
@@ -587,6 +589,7 @@ void dumpConfig()
printf("inheritDocsFlag=`%d'\n",Config::inheritDocsFlag);
printf("inheritDocsFlag=`%d'\n",Config::inheritDocsFlag);
printf("inlineInfoFlag=`%d'\n",Config::inlineInfoFlag);
printf("inlineInfoFlag=`%d'\n",Config::inlineInfoFlag);
printf("sortMembersFlag=`%d'\n",Config::sortMembersFlag);
printf("sortMembersFlag=`%d'\n",Config::sortMembersFlag);
printf("distributeDocFlag=`%d'\n",Config::distributeDocFlag);
printf("tabSize=`%d'\n",Config::tabSize);
printf("tabSize=`%d'\n",Config::tabSize);
{
{
char *is=Config::sectionFilterList.first();
char *is=Config::sectionFilterList.first();
...
@@ -824,6 +827,7 @@ void Config::init()
...
@@ -824,6 +827,7 @@ void Config::init()
Config::inheritDocsFlag = TRUE;
Config::inheritDocsFlag = TRUE;
Config::inlineInfoFlag = TRUE;
Config::inlineInfoFlag = TRUE;
Config::sortMembersFlag = TRUE;
Config::sortMembersFlag = TRUE;
Config::distributeDocFlag = FALSE;
Config::tabSize = 8;
Config::tabSize = 8;
Config::sectionFilterList.clear();
Config::sectionFilterList.clear();
Config::generateTodoList = TRUE;
Config::generateTodoList = TRUE;
...
@@ -1011,7 +1015,7 @@ void writeTemplateConfig(QFile *f,bool sl)
...
@@ -1011,7 +1015,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# information to generate all constant output in the proper language. \n";
t << "# information to generate all constant output in the proper language. \n";
t << "# The default language is English, other supported languages are: \n";
t << "# The default language is English, other supported languages are: \n";
t << "# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, \n";
t << "# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, \n";
t << "# Spanish, Russian, Croatian, Polish, and Portuguese.\n";
t << "#
Korean, Hungarian,
Spanish, Russian, Croatian, Polish, and Portuguese.\n";
t << "\n";
t << "\n";
}
}
t << "OUTPUT_LANGUAGE = ";
t << "OUTPUT_LANGUAGE = ";
...
@@ -1278,6 +1282,18 @@ void writeTemplateConfig(QFile *f,bool sl)
...
@@ -1278,6 +1282,18 @@ void writeTemplateConfig(QFile *f,bool sl)
writeBoolValue(t,Config::sortMembersFlag);
writeBoolValue(t,Config::sortMembersFlag);
t << "\n";
t << "\n";
if (!sl)
if (!sl)
{
t << "\n";
t << "# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n";
t << "# tag is set to YES, then doxygen will reuse the documentation of the first \n";
t << "# member in the group (if any) for the other members of the group. By default \n";
t << "# all members of a group must be documented explicitly.\n";
t << "\n";
}
t << "DISTRIBUTE_GROUP_DOC = ";
writeBoolValue(t,Config::distributeDocFlag);
t << "\n";
if (!sl)
{
{
t << "\n";
t << "\n";
t << "# The TAB_SIZE tag can be used to set the number of spaces in a tab. \n";
t << "# The TAB_SIZE tag can be used to set the number of spaces in a tab. \n";
...
@@ -1323,10 +1339,11 @@ void writeTemplateConfig(QFile *f,bool sl)
...
@@ -1323,10 +1339,11 @@ void writeTemplateConfig(QFile *f,bool sl)
{
{
t << "\n";
t << "\n";
t << "# This tag can be used to specify a number of aliases that acts \n";
t << "# This tag can be used to specify a number of aliases that acts \n";
t << "# as commands in the documentation. An alias has the form \"
\\
name=value\". \n";
t << "# as commands in the documentation. An alias has the form \"name=value\". \n";
t << "# For example adding \"sideeffect=\\par Side Effects:\\n\" will allow you to \n";
t << "# For example adding \"sideeffect=\\par Side Effects:\\n\" will allow you to \n";
t << "# put the command \\sideeffect (or @sideeffect) in the documentation, which \n";
t << "# put the command \\sideeffect (or @sideeffect) in the documentation, which \n";
t << "# will result in a user defined paragraph with heading \"Side Effects:\". \n";
t << "# will result in a user defined paragraph with heading \"Side Effects:\". \n";
t << "# You can put \\n's in the value part of an alias to insert newlines. \n";
t << "# Predefined commands cannot be overwritten using aliases. \n";
t << "# Predefined commands cannot be overwritten using aliases. \n";
t << "\n";
t << "\n";
}
}
...
...
src/definition.h
View file @
b91275de
...
@@ -69,7 +69,7 @@ class Definition
...
@@ -69,7 +69,7 @@ class Definition
virtual
bool
isLinkableInProject
()
=
0
;
virtual
bool
isLinkableInProject
()
=
0
;
virtual
bool
isLinkable
()
=
0
;
virtual
bool
isLinkable
()
=
0
;
bool
isReference
()
{
return
!
ref
.
isEmpty
();
}
bool
isReference
()
const
{
return
!
ref
.
isEmpty
();
}
void
setReference
(
const
char
*
r
)
{
ref
=
r
;
}
void
setReference
(
const
char
*
r
)
{
ref
=
r
;
}
QCString
getReference
()
{
return
ref
;
}
QCString
getReference
()
{
return
ref
;
}
...
...
src/doc.l
View file @
b91275de
...
@@ -2042,9 +2042,16 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -2042,9 +2042,16 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
forceEndItemList();
forceEndItemList();
}
}
else
else
{
if (insidePre)
{
outDoc->docify(yytext);
}
else
{
{
outDoc->newParagraph();
outDoc->newParagraph();
}
}
}
if (inBlock()) endBlock();
if (inBlock()) endBlock();
}
}
<DocScan>{BN}+/\n {
<DocScan>{BN}+/\n {
...
...
src/dot.cpp
View file @
b91275de
...
@@ -1205,7 +1205,7 @@ void DotInclDepGraph::buildGraph(DotNode *n,FileDef *fd,int distance)
...
@@ -1205,7 +1205,7 @@ void DotInclDepGraph::buildGraph(DotNode *n,FileDef *fd,int distance)
{
{
in
=
bfd
->
absFilePath
();
in
=
bfd
->
absFilePath
();
doc
=
bfd
->
isLinkableInProject
();
doc
=
bfd
->
isLinkableInProject
();
src
=
bfd
->
generateSource
()
||
(
!
bfd
->
isReference
()
&&
Config
::
sourceBrowseFlag
);
src
=
bfd
->
generateSource
File
(
);
}
}
if
(
doc
||
src
)
if
(
doc
||
src
)
{
{
...
...
src/doxygen.cpp
View file @
b91275de
...
@@ -90,6 +90,7 @@ FileNameDict *includeNameDict; // include names
...
@@ -90,6 +90,7 @@ FileNameDict *includeNameDict; // include names
FileNameDict
*
exampleNameDict
;
// examples
FileNameDict
*
exampleNameDict
;
// examples
FileNameDict
*
imageNameDict
;
// images
FileNameDict
*
imageNameDict
;
// images
StringDict
typedefDict
(
1009
);
// all typedefs
StringDict
typedefDict
(
1009
);
// all typedefs
StringDict
namespaceAliasDict
(
257
);
// all namespace aliases
GroupDict
groupDict
(
257
);
// all groups
GroupDict
groupDict
(
257
);
// all groups
FormulaDict
formulaDict
(
1009
);
// all formulas
FormulaDict
formulaDict
(
1009
);
// all formulas
FormulaDict
formulaNameDict
(
1009
);
// the label name of all formulas
FormulaDict
formulaNameDict
(
1009
);
// the label name of all formulas
...
@@ -502,7 +503,7 @@ static void addIncludeFile(ClassDef *cd,FileDef *ifd,Entry *root)
...
@@ -502,7 +503,7 @@ static void addIncludeFile(ClassDef *cd,FileDef *ifd,Entry *root)
// generate code for header
// generate code for header
{
{
cd
->
setIncludeFile
(
fd
,
iName
,
local
);
cd
->
setIncludeFile
(
fd
,
iName
,
local
);
fd
->
setGenerateSource
(
TRUE
);
//
fd->setGenerateSource(TRUE);
}
}
else
// put #include in the class documentation without link
else
// put #include in the class documentation without link
{
{
...
@@ -526,7 +527,7 @@ static bool addNamespace(Entry *root,ClassDef *cd)
...
@@ -526,7 +527,7 @@ static bool addNamespace(Entry *root,ClassDef *cd)
//printf("addNameSpace() trying: %s\n",e->name.data());
//printf("addNameSpace() trying: %s\n",e->name.data());
QCString
nsName
=
stripAnnonymousNamespaceScope
(
e
->
name
);
QCString
nsName
=
stripAnnonymousNamespaceScope
(
e
->
name
);
if
(
!
nsName
.
isEmpty
()
&&
nsName
.
at
(
0
)
!=
'@'
&&
if
(
!
nsName
.
isEmpty
()
&&
nsName
.
at
(
0
)
!=
'@'
&&
(
nd
=
namespaceDict
[
nsName
]
)
(
nd
=
getResolvedNamespace
(
nsName
)
)
)
)
{
{
cd
->
setNamespace
(
nd
);
cd
->
setNamespace
(
nd
);
...
@@ -688,7 +689,7 @@ static void buildClassList(Entry *root)
...
@@ -688,7 +689,7 @@ static void buildClassList(Entry *root)
// namespace is part of the class name
// namespace is part of the class name
if
(
!
found
&&
!
namespaceName
.
isEmpty
())
if
(
!
found
&&
!
namespaceName
.
isEmpty
())
{
{
NamespaceDef
*
nd
=
namespaceDict
[
namespaceName
]
;
NamespaceDef
*
nd
=
getResolvedNamespace
(
namespaceName
)
;
if
(
nd
)
if
(
nd
)
{
{
cd
->
setNamespace
(
nd
);
cd
->
setNamespace
(
nd
);
...
@@ -850,7 +851,7 @@ static void findUsingDirectives(Entry *root)
...
@@ -850,7 +851,7 @@ static void findUsingDirectives(Entry *root)
nsName
=
root
->
parent
->
name
.
copy
();
nsName
=
root
->
parent
->
name
.
copy
();
if
(
!
nsName
.
isEmpty
())
if
(
!
nsName
.
isEmpty
())
{
{
nd
=
namespaceDict
[
nsName
]
;
nd
=
getResolvedNamespace
(
nsName
)
;
}
}
}
}
...
@@ -864,7 +865,7 @@ static void findUsingDirectives(Entry *root)
...
@@ -864,7 +865,7 @@ static void findUsingDirectives(Entry *root)
QCString
scope
=
scopeOffset
>
0
?
QCString
scope
=
scopeOffset
>
0
?
nsName
.
left
(
scopeOffset
)
+
"::"
:
QCString
();
nsName
.
left
(
scopeOffset
)
+
"::"
:
QCString
();
//printf("Trying with scope=`%s'\n",scope.data());
//printf("Trying with scope=`%s'\n",scope.data());
usingNd
=
namespaceDict
[
scope
+
root
->
name
]
;
usingNd
=
getResolvedNamespace
(
scope
+
root
->
name
)
;
if
(
scopeOffset
==
0
)
if
(
scopeOffset
==
0
)
{
{
scopeOffset
=-
1
;
scopeOffset
=-
1
;
...
@@ -959,7 +960,7 @@ static void findUsingDeclarations(Entry *root)
...
@@ -959,7 +960,7 @@ static void findUsingDeclarations(Entry *root)
scName
=
root
->
parent
->
name
.
copy
();
scName
=
root
->
parent
->
name
.
copy
();
if
(
!
scName
.
isEmpty
())
if
(
!
scName
.
isEmpty
())
{
{
nd
=
namespaceDict
[
scName
]
;
nd
=
getResolvedNamespace
(
scName
)
;
}
}
}
}
...
@@ -1175,7 +1176,7 @@ static MemberDef *addVariableToFile(
...
@@ -1175,7 +1176,7 @@ static MemberDef *addVariableToFile(
QCString
nscope
=
removeAnnonymousScopes
(
scope
);
QCString
nscope
=
removeAnnonymousScopes
(
scope
);
if
(
!
nscope
.
isEmpty
())
if
(
!
nscope
.
isEmpty
())
{
{
nd
=
namespaceDict
[
nscope
]
;
nd
=
getResolvedNamespace
(
nscope
)
;
}
}
}
}
QCString
def
;
QCString
def
;
...
@@ -1221,7 +1222,7 @@ static MemberDef *addVariableToFile(
...
@@ -1221,7 +1222,7 @@ static MemberDef *addVariableToFile(
NamespaceDef
*
nd
=
0
;
NamespaceDef
*
nd
=
0
;
if
(
!
nscope
.
isEmpty
())
if
(
!
nscope
.
isEmpty
())
{
{
nd
=
namespaceDict
[
nscope
]
;
nd
=
getResolvedNamespace
(
nscope
)
;
}
}
if
(
nd
==
0
||
md
->
getNamespaceDef
()
==
nd
)
if
(
nd
==
0
||
md
->
getNamespaceDef
()
==
nd
)
// variable already in the scope
// variable already in the scope
...
@@ -1541,8 +1542,9 @@ static void buildMemberList(Entry *root)
...
@@ -1541,8 +1542,9 @@ static void buildMemberList(Entry *root)
MemberDef
::
MemberType
mtype
;
MemberDef
::
MemberType
mtype
;
if
(
isFriend
)
mtype
=
MemberDef
::
Friend
;
if
(
isFriend
)
mtype
=
MemberDef
::
Friend
;
else
if
(
root
->
sig
)
mtype
=
MemberDef
::
Signal
;
else
if
(
root
->
mtype
==
Signal
)
mtype
=
MemberDef
::
Signal
;
else
if
(
root
->
slot
)
mtype
=
MemberDef
::
Slot
;
else
if
(
root
->
mtype
==
Slot
)
mtype
=
MemberDef
::
Slot
;
else
if
(
root
->
mtype
==
DCOP
)
mtype
=
MemberDef
::
DCOP
;
else
mtype
=
MemberDef
::
Function
;
else
mtype
=
MemberDef
::
Function
;
// strip redundant template specifier for constructors
// strip redundant template specifier for constructors
...
@@ -1699,7 +1701,7 @@ static void buildMemberList(Entry *root)
...
@@ -1699,7 +1701,7 @@ static void buildMemberList(Entry *root)
NamespaceDef
*
rnd
=
0
;
NamespaceDef
*
rnd
=
0
;
if
(
!
root
->
parent
->
name
.
isEmpty
())
if
(
!
root
->
parent
->
name
.
isEmpty
())
{
{
rnd
=
namespaceDict
[
root
->
parent
->
name
]
;
rnd
=
getResolvedNamespace
(
root
->
parent
->
name
)
;
}
}
FileDef
*
fd
=
md
->
getFileDef
();
FileDef
*
fd
=
md
->
getFileDef
();
QCString
nsName
,
rnsName
;
QCString
nsName
,
rnsName
;
...
@@ -1811,7 +1813,7 @@ static void buildMemberList(Entry *root)
...
@@ -1811,7 +1813,7 @@ static void buildMemberList(Entry *root)
QCString
nscope
=
removeAnnonymousScopes
(
root
->
parent
->
name
);
QCString
nscope
=
removeAnnonymousScopes
(
root
->
parent
->
name
);
if
(
!
nscope
.
isEmpty
())
if
(
!
nscope
.
isEmpty
())
{
{
nd
=
namespaceDict
[
nscope
]
;
nd
=
getResolvedNamespace
(
nscope
)
;
}
}
}
}
...
@@ -3197,7 +3199,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
...
@@ -3197,7 +3199,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
bool
ambig
;
bool
ambig
;
FileDef
*
fd
=
findFileDef
(
inputNameDict
,
root
->
fileName
,
ambig
);
FileDef
*
fd
=
findFileDef
(
inputNameDict
,
root
->
fileName
,
ambig
);
NamespaceDef
*
nd
=
0
;
NamespaceDef
*
nd
=
0
;
if
(
!
namespaceName
.
isEmpty
())
nd
=
namespaceDict
[
namespaceName
]
;
if
(
!
namespaceName
.
isEmpty
())
nd
=
getResolvedNamespace
(
namespaceName
)
;
tcd
=
findClassDefinition
(
fd
,
nd
,
scopeName
,
classTempList
);
tcd
=
findClassDefinition
(
fd
,
nd
,
scopeName
,
classTempList
);
if
(
cd
&&
tcd
==
cd
)
// member's classes match
if
(
cd
&&
tcd
==
cd
)
// member's classes match
...
@@ -3367,8 +3369,9 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
...
@@ -3367,8 +3369,9 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
if
(
unique
)
if
(
unique
)
{
{
MemberDef
::
MemberType
mtype
;
MemberDef
::
MemberType
mtype
;
if
(
root
->
sig
)
mtype
=
MemberDef
::
Signal
;
if
(
root
->
mtype
==
Signal
)
mtype
=
MemberDef
::
Signal
;
else
if
(
root
->
slot
)
mtype
=
MemberDef
::
Slot
;
else
if
(
root
->
mtype
==
Slot
)
mtype
=
MemberDef
::
Slot
;
else
if
(
root
->
mtype
==
DCOP
)
mtype
=
MemberDef
::
DCOP
;
else
mtype
=
MemberDef
::
Function
;
else
mtype
=
MemberDef
::
Function
;
// new overloaded member function
// new overloaded member function
...
@@ -3440,10 +3443,12 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
...
@@ -3440,10 +3443,12 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
if
(
newMember
)
// need to create a new member
if
(
newMember
)
// need to create a new member
{
{
MemberDef
::
MemberType
mtype
;
MemberDef
::
MemberType
mtype
;
if
(
root
->
sig
)
if
(
root
->
mtype
==
Signal
)
mtype
=
MemberDef
::
Signal
;
mtype
=
MemberDef
::
Signal
;
else
if
(
root
->
s
lot
)
else
if
(
root
->
mtype
==
S
lot
)
mtype
=
MemberDef
::
Slot
;
mtype
=
MemberDef
::
Slot
;
else
if
(
root
->
mtype
==
DCOP
)
mtype
=
MemberDef
::
DCOP
;
else
else
mtype
=
MemberDef
::
Function
;
mtype
=
MemberDef
::
Function
;
...
@@ -3679,7 +3684,7 @@ static void findEnums(Entry *root)
...
@@ -3679,7 +3684,7 @@ static void findEnums(Entry *root)
{
{
QCString
scope
=
root
->
name
.
left
(
i
);
// extract scope
QCString
scope
=
root
->
name
.
left
(
i
);
// extract scope
name
=
root
->
name
.
right
(
root
->
name
.
length
()
-
i
-
2
);
// extract name
name
=
root
->
name
.
right
(
root
->
name
.
length
()
-
i
-
2
);
// extract name
if
((
cd
=
getClass
(
scope
))
==
0
)
nd
=
namespaceDict
[
scope
]
;
if
((
cd
=
getClass
(
scope
))
==
0
)
nd
=
getResolvedNamespace
(
scope
)
;
}
}
else
// no scope, check the scope in which the docs where found
else
// no scope, check the scope in which the docs where found
{
{
...
@@ -3688,7 +3693,7 @@ static void findEnums(Entry *root)
...
@@ -3688,7 +3693,7 @@ static void findEnums(Entry *root)
)
// found enum docs inside a compound
)
// found enum docs inside a compound
{
{
QCString
scope
=
root
->
parent
->
name
;
QCString
scope
=
root
->
parent
->
name
;
if
((
cd
=
getClass
(
scope
))
==
0
)
nd
=
namespaceDict
[
scope
]
;
if
((
cd
=
getClass
(
scope
))
==
0
)
nd
=
getResolvedNamespace
(
scope
)
;
}
}
name
=
root
->
name
.
copy
();
name
=
root
->
name
.
copy
();
}
}
...
@@ -4103,7 +4108,9 @@ static void generateFileSources()
...
@@ -4103,7 +4108,9 @@ static void generateFileSources()
for
(;(
fd
=
fni
.
current
());
++
fni
)
for
(;(
fd
=
fni
.
current
());
++
fni
)
{
{
bool
src
=
!
fd
->
isReference
()
&&
bool
src
=
!
fd
->
isReference
()
&&
(
fd
->
generateSource
()
||
Config
::
sourceBrowseFlag
);
(
Config
::
verbatimHeaderFlag
//fd->generateSource()
||
Config
::
sourceBrowseFlag
);
if
(
src
)
if
(
src
)
{
{
msg
(
"Generating code for file %s...
\n
"
,
fd
->
name
().
data
());
msg
(
"Generating code for file %s...
\n
"
,
fd
->
name
().
data
());
...
@@ -5883,8 +5890,11 @@ int main(int argc,char **argv)
...
@@ -5883,8 +5890,11 @@ int main(int argc,char **argv)
msg
(
"Adding members to member groups.
\n
"
);
msg
(
"Adding members to member groups.
\n
"
);
addMembersToMemberGroup
();
addMembersToMemberGroup
();
if
(
Config
::
distributeDocFlag
)
{
msg
(
"Distributing member group documentation.
\n
"
);
msg
(
"Distributing member group documentation.
\n
"
);
distributeMemberGroupDocumentation
();
distributeMemberGroupDocumentation
();
}
msg
(
"Building full member lists recursively...
\n
"
);
msg
(
"Building full member lists recursively...
\n
"
);
buildCompleteMemberLists
();
buildCompleteMemberLists
();
...
...
src/doxygen.h
View file @
b91275de
...
@@ -91,6 +91,7 @@ extern QTextStream tagFile;
...
@@ -91,6 +91,7 @@ extern QTextStream tagFile;
extern
SectionDict
sectionDict
;
extern
SectionDict
sectionDict
;
extern
FileNameList
inputNameList
;
extern
FileNameList
inputNameList
;
extern
StringDict
typedefDict
;
extern
StringDict
typedefDict
;
extern
StringDict
namespaceAliasDict
;
extern
GroupList
groupList
;
extern
GroupList
groupList
;
extern
GroupDict
groupDict
;
extern
GroupDict
groupDict
;
extern
NamespaceList
namespaceList
;
extern
NamespaceList
namespaceList
;
...
...
src/doxygen.pro.in
View file @
b91275de
...
@@ -26,7 +26,7 @@ HEADERS = doxygen.h scanner.h doc.h classdef.h classlist.h memberdef.h \
...
@@ -26,7 +26,7 @@ HEADERS = doxygen.h scanner.h doc.h classdef.h classlist.h memberdef.h \
translator_nl.h translator_se.h translator_cz.h translator_fr.h \
translator_nl.h translator_se.h translator_cz.h translator_fr.h \
translator_it.h formula.h debug.h membergroup.h htmlhelp.h \
translator_it.h formula.h debug.h membergroup.h htmlhelp.h \
translator_ru.h translator_pl.h dot.h rtfgen.h xml.h xml_dtd.h \
translator_ru.h translator_pl.h dot.h rtfgen.h xml.h xml_dtd.h \
reflist.h page.h sortdict.h translator_hu.h
reflist.h page.h sortdict.h translator_hu.h
translator_kr.h
SOURCES = doxygen.cpp scanner.cpp doc.cpp classdef.cpp classlist.cpp \
SOURCES = doxygen.cpp scanner.cpp doc.cpp classdef.cpp classlist.cpp \
memberdef.cpp membername.cpp index.cpp memberlist.cpp \
memberdef.cpp membername.cpp index.cpp memberlist.cpp \
entry.cpp logos.cpp instdox.cpp message.cpp code.cpp \
entry.cpp logos.cpp instdox.cpp message.cpp code.cpp \
...
...
src/entry.cpp
View file @
b91275de
...
@@ -48,8 +48,7 @@ Entry::Entry(const Entry &e)
...
@@ -48,8 +48,7 @@ Entry::Entry(const Entry &e)
//printf("Copy New Entry %d\n",num);
//printf("Copy New Entry %d\n",num);
section
=
e
.
section
;
section
=
e
.
section
;
protection
=
e
.
protection
;
protection
=
e
.
protection
;
sig
=
e
.
sig
;
mtype
=
e
.
mtype
;
slot
=
e
.
slot
;
stat
=
e
.
stat
;
stat
=
e
.
stat
;
explicitExternal
=
e
.
explicitExternal
;
explicitExternal
=
e
.
explicitExternal
;
virt
=
e
.
virt
;
virt
=
e
.
virt
;
...
@@ -219,9 +218,8 @@ void Entry::reset()
...
@@ -219,9 +218,8 @@ void Entry::reset()
todoId
=
0
;
todoId
=
0
;
testId
=
0
;
testId
=
0
;
section
=
EMPTY_SEC
;
section
=
EMPTY_SEC
;
sig
=
FALSE
;
mtype
=
Method
;
virt
=
Normal
;
virt
=
Normal
;
slot
=
FALSE
;
stat
=
FALSE
;
stat
=
FALSE
;
proto
=
FALSE
;
proto
=
FALSE
;
explicitExternal
=
FALSE
;
explicitExternal
=
FALSE
;
...
...
src/entry.h
View file @
b91275de
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
enum
Protection
{
Public
,
Protected
,
Private
}
;
enum
Protection
{
Public
,
Protected
,
Private
}
;
enum
Specifier
{
Normal
,
Virtual
,
Pure
}
;
enum
Specifier
{
Normal
,
Virtual
,
Pure
}
;
enum
MethodTypes
{
Method
,
Signal
,
Slot
,
DCOP
};
struct
BaseInfo
struct
BaseInfo
{
{
...
@@ -161,8 +162,9 @@ class Entry
...
@@ -161,8 +162,9 @@ class Entry
int
section
;
// entry type (see Sections);
int
section
;
// entry type (see Sections);
Protection
protection
;
// class protection
Protection
protection
;
// class protection
bool
sig
;
// a Qt signal ?
//bool sig; // a Qt signal ?
bool
slot
;
// a Qt slot ?
//bool slot; // a Qt slot ?
MethodTypes
mtype
;
// signal, slot or dcop method?
bool
stat
;
// static ?
bool
stat
;
// static ?
bool
explicitExternal
;
// explicitly defined as external?
bool
explicitExternal
;
// explicitly defined as external?
bool
proto
;
// prototype ?
bool
proto
;
// prototype ?
...
...
src/filedef.cpp
View file @
b91275de
...
@@ -164,9 +164,7 @@ void FileDef::writeDocumentation(OutputList &ol)
...
@@ -164,9 +164,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol
.
docify
(
ii
->
includeName
);
ol
.
docify
(
ii
->
includeName
);
ol
.
enableAll
();
ol
.
enableAll
();
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
if
(
fd
&&
fd
->
isLinkable
()
&&
if
(
fd
&&
fd
->
isLinkable
()
&&
fd
->
generateSourceFile
())
(
fd
->
generateSource
()
||
Config
::
sourceBrowseFlag
)
)
{
{
ol
.
writeObjectLink
(
fd
->
getReference
(),
fd
->
includeName
(),
0
,
ii
->
includeName
);
ol
.
writeObjectLink
(
fd
->
getReference
(),
fd
->
includeName
(),
0
,
ii
->
includeName
);
}
}
...
@@ -222,7 +220,7 @@ void FileDef::writeDocumentation(OutputList &ol)
...
@@ -222,7 +220,7 @@ void FileDef::writeDocumentation(OutputList &ol)
//incDepGraph.writeGraph(Config::htmlOutputDir,fd->getOutputFileBase());
//incDepGraph.writeGraph(Config::htmlOutputDir,fd->getOutputFileBase());
}
}
if
(
generateSource
()
||
(
!
isReference
()
&&
Config
::
sourceBrowseFlag
))
if
(
generateSource
File
(
))
{
{
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
newParagraph
();
ol
.
newParagraph
();
...
...
src/filedef.h
View file @
b91275de
...
@@ -120,8 +120,11 @@ class FileDef : public Definition
...
@@ -120,8 +120,11 @@ class FileDef : public Definition
void
addUsingDeclaration
(
ClassDef
*
cd
);
void
addUsingDeclaration
(
ClassDef
*
cd
);
ClassList
*
getUsedClasses
()
const
{
return
usingDeclList
;
}
ClassList
*
getUsedClasses
()
const
{
return
usingDeclList
;
}
void
setGenerateSource
(
bool
b
)
{
isSource
=
b
;
}
//void setGenerateSource(bool b) { isSource=b; }
bool
generateSource
()
const
{
return
isSource
;
}
bool
generateSourceFile
()
const
{
return
!
isReference
()
&&
(
Config
::
sourceBrowseFlag
||
Config
::
verbatimHeaderFlag
);
}
void
addIncludeDependency
(
FileDef
*
fd
,
const
char
*
incName
,
bool
local
);
void
addIncludeDependency
(
FileDef
*
fd
,
const
char
*
incName
,
bool
local
);
void
addIncludedByDependency
(
FileDef
*
fd
,
const
char
*
incName
,
bool
local
);
void
addIncludedByDependency
(
FileDef
*
fd
,
const
char
*
incName
,
bool
local
);
...
...
src/index.cpp
View file @
b91275de
...
@@ -333,7 +333,7 @@ void countFiles(int &htmlFiles,int &files)
...
@@ -333,7 +333,7 @@ void countFiles(int &htmlFiles,int &files)
for
(;(
fd
=
fni
.
current
());
++
fni
)
for
(;(
fd
=
fni
.
current
());
++
fni
)
{
{
bool
doc
=
fd
->
isLinkableInProject
();
bool
doc
=
fd
->
isLinkableInProject
();
bool
src
=
fd
->
generateSource
()
||
Config
::
sourceBrowseFlag
;
bool
src
=
fd
->
generateSource
File
()
;
if
(
doc
||
src
)
if
(
doc
||
src
)
{
{
htmlFiles
++
;
htmlFiles
++
;
...
@@ -415,7 +415,7 @@ void writeFileIndex(OutputList &ol)
...
@@ -415,7 +415,7 @@ void writeFileIndex(OutputList &ol)
{
{
//printf("Found filedef %s\n",fd->name().data());
//printf("Found filedef %s\n",fd->name().data());
bool
doc
=
fd
->
isLinkableInProject
();
bool
doc
=
fd
->
isLinkableInProject
();
bool
src
=
fd
->
generateSource
()
||
Config
::
sourceBrowseFlag
;
bool
src
=
fd
->
generateSource
File
()
;
if
((
doc
||
src
)
&&
!
fd
->
isReference
())
if
((
doc
||
src
)
&&
!
fd
->
isReference
())
{
{
QCString
path
;
QCString
path
;
...
@@ -849,7 +849,7 @@ void writeAlphabeticalClassList(OutputList &ol)
...
@@ -849,7 +849,7 @@ void writeAlphabeticalClassList(OutputList &ol)
if
(
!
namesp
.
isEmpty
())
if
(
!
namesp
.
isEmpty
())
{
{
ol
.
docify
(
" ("
);
ol
.
docify
(
" ("
);
NamespaceDef
*
nd
=
namespaceDict
[
namesp
]
;
NamespaceDef
*
nd
=
getResolvedNamespace
(
namesp
)
;
if
(
nd
&&
nd
->
isLinkable
())
if
(
nd
&&
nd
->
isLinkable
())
{
{
ol
.
writeObjectLink
(
nd
->
getReference
(),
ol
.
writeObjectLink
(
nd
->
getReference
(),
...
...
src/language.cpp
View file @
b91275de
...
@@ -32,6 +32,7 @@
...
@@ -32,6 +32,7 @@
#include "translator_pl.h"
#include "translator_pl.h"
#include "translator_pt.h"
#include "translator_pt.h"
#include "translator_hu.h"
#include "translator_hu.h"
#include "translator_kr.h"
#endif
#endif
#define L_EQUAL(a) !stricmp(langName,a)
#define L_EQUAL(a) !stricmp(langName,a)
...
@@ -105,6 +106,10 @@ bool setTranslator(const char *langName)
...
@@ -105,6 +106,10 @@ bool setTranslator(const char *langName)
{
{
theTranslator
=
new
TranslatorHungarian
;
theTranslator
=
new
TranslatorHungarian
;
}
}
else
if
(
L_EQUAL
(
"korean"
))
{
theTranslator
=
new
TranslatorKorean
;
}
#endif
#endif
else
// use the default language (i.e. english)
else
// use the default language (i.e. english)
{
{
...
...
src/latexgen.cpp
View file @
b91275de
...
@@ -1134,6 +1134,7 @@ void LatexGenerator::docify(const char *str)
...
@@ -1134,6 +1134,7 @@ void LatexGenerator::docify(const char *str)
{
{
static
bool
isCzech
=
theTranslator
->
idLanguage
()
==
"czech"
;
static
bool
isCzech
=
theTranslator
->
idLanguage
()
==
"czech"
;
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
;
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
;
static
bool
isKorean
=
theTranslator
->
idLanguage
()
==
"korean"
;
static
bool
isRussian
=
theTranslator
->
idLanguage
()
==
"russian"
;
static
bool
isRussian
=
theTranslator
->
idLanguage
()
==
"russian"
;
static
bool
isGerman
=
theTranslator
->
idLanguage
()
==
"german"
;
static
bool
isGerman
=
theTranslator
->
idLanguage
()
==
"german"
;
if
(
str
)
if
(
str
)
...
@@ -1192,7 +1193,7 @@ void LatexGenerator::docify(const char *str)
...
@@ -1192,7 +1193,7 @@ void LatexGenerator::docify(const char *str)
break
;
break
;
default
:
default
:
if
(
isJapanese
)
if
(
isJapanese
||
isKorean
)
{
// Japanese language uses wide characters
{
// Japanese language uses wide characters
if
(
c
>=
128
)
if
(
c
>=
128
)
{
{
...
...
src/memberdef.cpp
View file @
b91275de
...
@@ -1414,6 +1414,7 @@ void MemberDef::generateXML(QTextStream &t,Definition *def)
...
@@ -1414,6 +1414,7 @@ void MemberDef::generateXML(QTextStream &t,Definition *def)
case
Signal
:
// fall through
case
Signal
:
// fall through
case
Prototype
:
// fall through
case
Prototype
:
// fall through
case
Friend
:
// fall through
case
Friend
:
// fall through
case
DCOP
:
// fall through
case
Slot
:
t
<<
"functiondef"
;
xmlType
=
function_t
;
break
;
case
Slot
:
t
<<
"functiondef"
;
xmlType
=
function_t
;
break
;
}
}
t
<<
" id=
\"
"
;
t
<<
" id=
\"
"
;
...
@@ -1562,6 +1563,7 @@ void MemberDef::generateXML(QTextStream &t,Definition *def)
...
@@ -1562,6 +1563,7 @@ void MemberDef::generateXML(QTextStream &t,Definition *def)
case
Signal
:
// fall through
case
Signal
:
// fall through
case
Prototype
:
// fall through
case
Prototype
:
// fall through
case
Friend
:
// fall through
case
Friend
:
// fall through
case
DCOP
:
// fall through
case
Slot
:
t
<<
"functiondef"
;
break
;
case
Slot
:
t
<<
"functiondef"
;
break
;
}
}
t
<<
">"
<<
endl
;
t
<<
">"
<<
endl
;
...
...
src/memberdef.h
View file @
b91275de
...
@@ -57,7 +57,8 @@ class MemberDef : public Definition
...
@@ -57,7 +57,8 @@ class MemberDef : public Definition
Prototype
,
Prototype
,
Signal
,
Signal
,
Slot
,
Slot
,
Friend
Friend
,
DCOP
};
};
enum
enum
...
@@ -107,6 +108,7 @@ class MemberDef : public Definition
...
@@ -107,6 +108,7 @@ class MemberDef : public Definition
bool
isFunction
()
const
{
return
mtype
==
Function
;
}
bool
isFunction
()
const
{
return
mtype
==
Function
;
}
bool
isDefine
()
const
{
return
mtype
==
Define
;
}
bool
isDefine
()
const
{
return
mtype
==
Define
;
}
bool
isFriend
()
const
{
return
mtype
==
Friend
;
}
bool
isFriend
()
const
{
return
mtype
==
Friend
;
}
bool
isDCOP
()
const
{
return
mtype
==
DCOP
;
}
bool
isRelated
()
const
{
return
related
;
}
bool
isRelated
()
const
{
return
related
;
}
bool
isStatic
()
const
{
return
stat
;
}
bool
isStatic
()
const
{
return
stat
;
}
bool
isInline
()
const
{
return
(
memSpec
&
Entry
::
Inline
)
!=
0
;
}
bool
isInline
()
const
{
return
(
memSpec
&
Entry
::
Inline
)
!=
0
;
}
...
...
src/memberlist.cpp
View file @
b91275de
...
@@ -73,6 +73,7 @@ void MemberList::countDecMembers(bool inGroup,bool countSubGroups,bool sectionPe
...
@@ -73,6 +73,7 @@ void MemberList::countDecMembers(bool inGroup,bool countSubGroups,bool sectionPe
case
MemberDef
:
:
Variable
:
varCnt
++
,
m_count
++
;
break
;
case
MemberDef
:
:
Variable
:
varCnt
++
,
m_count
++
;
break
;
case
MemberDef
:
:
Function
:
// fall through
case
MemberDef
:
:
Function
:
// fall through
case
MemberDef
:
:
Signal
:
// fall through
case
MemberDef
:
:
Signal
:
// fall through
case
MemberDef
:
:
DCOP
:
// fall through
case
MemberDef
:
:
Slot
:
if
(
!
md
->
isRelated
()
||
md
->
getClassDef
())
case
MemberDef
:
:
Slot
:
if
(
!
md
->
isRelated
()
||
md
->
getClassDef
())
funcCnt
++
,
m_count
++
;
funcCnt
++
,
m_count
++
;
break
;
break
;
...
@@ -409,7 +410,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
...
@@ -409,7 +410,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
for
(
;
(
md
=
mli
.
current
())
;
++
mli
)
for
(
;
(
md
=
mli
.
current
())
;
++
mli
)
{
{
if
(
if
(
(
md
->
isFunction
()
||
md
->
isSignal
()
||
md
->
isSlot
())
&&
(
md
->
isFunction
()
||
md
->
isSignal
()
||
md
->
isSlot
()
||
md
->
isDCOP
()
)
&&
(
!
md
->
isRelated
()
||
md
->
getClassDef
()
)
&&
(
!
md
->
isRelated
()
||
md
->
getClassDef
()
)
&&
inGroup
==
md
->
visibleMemberGroup
(
sectionPerType
)
inGroup
==
md
->
visibleMemberGroup
(
sectionPerType
)
)
)
...
...
src/rtfgen.cpp
View file @
b91275de
...
@@ -326,19 +326,19 @@ static const struct
...
@@ -326,19 +326,19 @@ static const struct
{
"ListEnum4"
,
{
"ListEnum4"
,
"
\\
s94
\\
fi-360
\\
li1800
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s94
\\
fi-360
\\
li1800
\\
widctlpar
\\
fs20
\\
cgrid "
},
},
{
"ListEnum
4
"
,
{
"ListEnum
5
"
,
"
\\
s95
\\
fi-360
\\
li2160
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s95
\\
fi-360
\\
li2160
\\
widctlpar
\\
fs20
\\
cgrid "
},
},
{
"ListEnum
5
"
,
{
"ListEnum
6
"
,
"
\\
s96
\\
fi-360
\\
li2520
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s96
\\
fi-360
\\
li2520
\\
widctlpar
\\
fs20
\\
cgrid "
},
},
{
"ListEnum
6
"
,
{
"ListEnum
7
"
,
"
\\
s97
\\
fi-360
\\
li2880
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s97
\\
fi-360
\\
li2880
\\
widctlpar
\\
fs20
\\
cgrid "
},
},
{
"ListEnum
7
"
,
{
"ListEnum
8
"
,
"
\\
s98
\\
fi-360
\\
li3240
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s98
\\
fi-360
\\
li3240
\\
widctlpar
\\
fs20
\\
cgrid "
},
},
{
"ListEnum
8
"
,
{
"ListEnum
9
"
,
"
\\
s99
\\
fi-360
\\
li3600
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s99
\\
fi-360
\\
li3600
\\
widctlpar
\\
fs20
\\
cgrid "
},
},
{
0
,
{
0
,
...
...
src/scanner.l
View file @
b91275de
This diff is collapsed.
Click to expand it.
src/translator.h
View file @
b91275de
...
@@ -24,6 +24,89 @@
...
@@ -24,6 +24,89 @@
class
Translator
class
Translator
{
{
protected
:
/*! Returns the string converted from windows-1250 to iso-8859-2. */
/* The method was designed initially for translator_cz.h.
It is used for on-line encoding conversion related to conditional
compilation in Unix/MS Windows environments (both use different
encoding). Later, the translator_hr.h (by Boris Bralo) used and
improved the same style. As the method with the translation table
was the same, the decision to move it to this base class was made.
The same holds for ISO88592ToWin1250() method. It is recommended
for possibly other similar methods in future.
*/
QCString
Win1250ToISO88592
(
const
QCString
&
sInput
)
{
// The conversion table for characters >127
//
static
const
char
WinToISOTab
[]
=
{
'\x80'
,
'\x81'
,
'\x82'
,
'\x83'
,
'\x84'
,
'\x85'
,
'\x86'
,
'\x87'
,
'\x88'
,
'\x89'
,
'\xA9'
,
'\x8B'
,
'\xA6'
,
'\xAB'
,
'\xAE'
,
'\xAC'
,
'\x90'
,
'\x91'
,
'\x92'
,
'\x93'
,
'\x94'
,
'\x2E'
,
'\x96'
,
'\x97'
,
'\x98'
,
'\x99'
,
'\xB9'
,
'\x9B'
,
'\xB6'
,
'\xBB'
,
'\xBE'
,
'\xBC'
,
'\xA0'
,
'\x20'
,
'\x20'
,
'\xA3'
,
'\xA4'
,
'\xA1'
,
'\xA6'
,
'\xA7'
,
'\x22'
,
'\xA9'
,
'\xAA'
,
'\x3C'
,
'\xAC'
,
'\x2D'
,
'\xAE'
,
'\xAF'
,
'\x2E'
,
'\x2B'
,
'\x20'
,
'\xB3'
,
'\x27'
,
'\x75'
,
'\xB6'
,
'\xB7'
,
'\x20'
,
'\xB1'
,
'\xBA'
,
'\x3E'
,
'\xA5'
,
'\x22'
,
'\xB5'
,
'\xBF'
,
'\xC0'
,
'\xC1'
,
'\xC2'
,
'\xC3'
,
'\xC4'
,
'\xC5'
,
'\xC6'
,
'\xC7'
,
'\xC8'
,
'\xC9'
,
'\xCA'
,
'\xCB'
,
'\xCC'
,
'\xCD'
,
'\xCE'
,
'\xCF'
,
'\xD0'
,
'\xD1'
,
'\xD2'
,
'\xD3'
,
'\xD4'
,
'\xD5'
,
'\xD6'
,
'\xD7'
,
'\xD8'
,
'\xD9'
,
'\xDA'
,
'\xDB'
,
'\xDC'
,
'\xDD'
,
'\xDE'
,
'\xDF'
,
'\xE0'
,
'\xE1'
,
'\xE2'
,
'\xE3'
,
'\xE4'
,
'\xE5'
,
'\xE6'
,
'\xE7'
,
'\xE8'
,
'\xE9'
,
'\xEA'
,
'\xEB'
,
'\xEC'
,
'\xED'
,
'\xEE'
,
'\xEF'
,
'\xF0'
,
'\xF1'
,
'\xF2'
,
'\xF3'
,
'\xF4'
,
'\xF5'
,
'\xF6'
,
'\x2D'
,
'\xF8'
,
'\xF9'
,
'\xFA'
,
'\xFB'
,
'\xFC'
,
'\xFD'
,
'\xFE'
,
'\xFF'
,
'\0'
};
QCString
result
;
int
len
=
sInput
.
length
();
for
(
int
i
=
0
;
i
<
len
;
++
i
)
{
unsigned
int
c
=
sInput
[
i
];
result
+=
(
c
>
127
)
?
WinToISOTab
[
c
&
0x7F
]
:
c
;
}
return
result
;
}
/*! returns the string converted from iso-8859-2 to windows-1250 */
/* See the comments of the Win1250ToISO88592() method for details. */
QCString
ISO88592ToWin1250
(
const
QCString
&
sInput
)
{
// The conversion table for characters >127
//
static
const
char
ISOToWinTab
[]
=
{
'\x80'
,
'\x81'
,
'\x82'
,
'\x83'
,
'\x84'
,
'\x85'
,
'\x86'
,
'\x87'
,
'\x88'
,
'\x89'
,
'\x8A'
,
'\x8B'
,
'\x8C'
,
'\x8D'
,
'\x8E'
,
'\x8F'
,
'\x90'
,
'\x91'
,
'\x92'
,
'\x93'
,
'\x94'
,
'\x95'
,
'\x96'
,
'\x97'
,
'\x98'
,
'\x99'
,
'\x9A'
,
'\x9B'
,
'\x9C'
,
'\x9D'
,
'\x9E'
,
'\x9F'
,
'\xA0'
,
'\xA5'
,
'\xA2'
,
'\xA3'
,
'\xA4'
,
'\xBC'
,
'\x8C'
,
'\xA7'
,
'\xA8'
,
'\x8A'
,
'\xAA'
,
'\x8D'
,
'\x8F'
,
'\xAD'
,
'\x8E'
,
'\xAF'
,
'\xB0'
,
'\xB9'
,
'\xB2'
,
'\xB3'
,
'\xB4'
,
'\xBE'
,
'\x9C'
,
'\xB7'
,
'\xB8'
,
'\x9A'
,
'\xBA'
,
'\x9D'
,
'\x9F'
,
'\xBD'
,
'\x9E'
,
'\xBF'
,
'\xC0'
,
'\xC1'
,
'\xC2'
,
'\xC3'
,
'\xC4'
,
'\xC5'
,
'\xC6'
,
'\xC7'
,
'\xC8'
,
'\xC9'
,
'\xCA'
,
'\xCB'
,
'\xCC'
,
'\xCD'
,
'\xCE'
,
'\xCF'
,
'\xD0'
,
'\xD1'
,
'\xD2'
,
'\xD3'
,
'\xD4'
,
'\xD5'
,
'\xD6'
,
'\xD7'
,
'\xD8'
,
'\xD9'
,
'\xDA'
,
'\xDB'
,
'\xDC'
,
'\xDD'
,
'\xDE'
,
'\xDF'
,
'\xE0'
,
'\xE1'
,
'\xE2'
,
'\xE3'
,
'\xE4'
,
'\xE5'
,
'\xE6'
,
'\xE7'
,
'\xE8'
,
'\xE9'
,
'\xEA'
,
'\xEB'
,
'\xEC'
,
'\xED'
,
'\xEE'
,
'\xEF'
,
'\xF0'
,
'\xF1'
,
'\xF2'
,
'\xF3'
,
'\xF4'
,
'\xF5'
,
'\xF6'
,
'\xF7'
,
'\xF8'
,
'\xF9'
,
'\xFA'
,
'\xFB'
,
'\xFC'
,
'\xFD'
,
'\xFE'
,
'\xFF'
,
'\0'
};
QCString
result
;
int
len
=
sInput
.
length
();
for
(
int
i
=
0
;
i
<
len
;
++
i
)
{
unsigned
int
c
=
sInput
[
i
];
result
+=
(
c
>
127
)
?
ISOToWinTab
[
c
&
0x7F
]
:
c
;
}
return
result
;
}
public
:
public
:
// --- Language contol methods -------------------
// --- Language contol methods -------------------
...
@@ -993,6 +1076,16 @@ class Translator
...
@@ -993,6 +1076,16 @@ class Translator
return
"Test List"
;
return
"Test List"
;
}
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.1
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for KDE-2 IDL methods */
virtual
QCString
trDCOPMethods
()
{
return
"DCOP Methods"
;
}
};
};
#endif
#endif
src/translator_cz.h
View file @
b91275de
This diff is collapsed.
Click to expand it.
src/translator_hr.h
View file @
b91275de
...
@@ -35,84 +35,15 @@ class TranslatorCroatian : public Translator
...
@@ -35,84 +35,15 @@ class TranslatorCroatian : public Translator
/* Speed loss is actualy less than in Czech version due to
/* Speed loss is actualy less than in Czech version due to
fewer QCString copying.
fewer QCString copying.
*/
*/
inline
QCString
&
decode
(
const
QCString
&
sInput
)
inline
QCString
decode
(
const
QCString
&
sInput
)
{
{
#ifdef _WIN32
#ifdef _WIN32
return
ISOToWin
(
sInput
);
return
ISO88592ToWin1250
(
sInput
);
#else
#else
return
const_cast
<
QCString
&>
(
sInput
)
;
return
sInput
;
#endif
#endif
}
}
/*! returns the string converted from windows-1250 to iso-8859-2 */
QCString
WinToISO
(
const
QCString
&
sInput
)
{
// The conversion table for characters >127
//
static
const
char
WinToISOTab
[]
=
{
'\x80'
,
'\x81'
,
'\x82'
,
'\x83'
,
'\x84'
,
'\x85'
,
'\x86'
,
'\x87'
,
'\x88'
,
'\x89'
,
'\xA9'
,
'\x8B'
,
'\xA6'
,
'\xAB'
,
'\xAE'
,
'\xAC'
,
'\x90'
,
'\x91'
,
'\x92'
,
'\x93'
,
'\x94'
,
'\x2E'
,
'\x96'
,
'\x97'
,
'\x98'
,
'\x99'
,
'\xB9'
,
'\x9B'
,
'\xB6'
,
'\xBB'
,
'\xBE'
,
'\xBC'
,
'\xA0'
,
'\x20'
,
'\x20'
,
'\xA3'
,
'\xA4'
,
'\xA1'
,
'\xA6'
,
'\xA7'
,
'\x22'
,
'\xA9'
,
'\xAA'
,
'\x3C'
,
'\xAC'
,
'\x2D'
,
'\xAE'
,
'\xAF'
,
'\x2E'
,
'\x2B'
,
'\x20'
,
'\xB3'
,
'\x27'
,
'\x75'
,
'\xB6'
,
'\xB7'
,
'\x20'
,
'\xB1'
,
'\xBA'
,
'\x3E'
,
'\xA5'
,
'\x22'
,
'\xB5'
,
'\xBF'
,
'\xC0'
,
'\xC1'
,
'\xC2'
,
'\xC3'
,
'\xC4'
,
'\xC5'
,
'\xC6'
,
'\xC7'
,
'\xC8'
,
'\xC9'
,
'\xCA'
,
'\xCB'
,
'\xCC'
,
'\xCD'
,
'\xCE'
,
'\xCF'
,
'\xD0'
,
'\xD1'
,
'\xD2'
,
'\xD3'
,
'\xD4'
,
'\xD5'
,
'\xD6'
,
'\xD7'
,
'\xD8'
,
'\xD9'
,
'\xDA'
,
'\xDB'
,
'\xDC'
,
'\xDD'
,
'\xDE'
,
'\xDF'
,
'\xE0'
,
'\xE1'
,
'\xE2'
,
'\xE3'
,
'\xE4'
,
'\xE5'
,
'\xE6'
,
'\xE7'
,
'\xE8'
,
'\xE9'
,
'\xEA'
,
'\xEB'
,
'\xEC'
,
'\xED'
,
'\xEE'
,
'\xEF'
,
'\xF0'
,
'\xF1'
,
'\xF2'
,
'\xF3'
,
'\xF4'
,
'\xF5'
,
'\xF6'
,
'\x2D'
,
'\xF8'
,
'\xF9'
,
'\xFA'
,
'\xFB'
,
'\xFC'
,
'\xFD'
,
'\xFE'
,
'\xFF'
,
'\0'
};
QCString
result
;
int
len
=
sInput
.
length
();
for
(
int
i
=
0
;
i
<
len
;
++
i
)
{
unsigned
int
c
=
sInput
[
i
];
result
+=
(
c
>
127
)
?
WinToISOTab
[
c
&
0x7F
]
:
c
;
}
return
result
;
}
/*! returns the string converted from iso-8859-2 to windows-1250 */
QCString
ISOToWin
(
const
QCString
&
sInput
)
{
// The conversion table for characters >127
//
static
const
char
ISOToWinTab
[]
=
{
'\x80'
,
'\x81'
,
'\x82'
,
'\x83'
,
'\x84'
,
'\x85'
,
'\x86'
,
'\x87'
,
'\x88'
,
'\x89'
,
'\x8A'
,
'\x8B'
,
'\x8C'
,
'\x8D'
,
'\x8E'
,
'\x8F'
,
'\x90'
,
'\x91'
,
'\x92'
,
'\x93'
,
'\x94'
,
'\x95'
,
'\x96'
,
'\x97'
,
'\x98'
,
'\x99'
,
'\x9A'
,
'\x9B'
,
'\x9C'
,
'\x9D'
,
'\x9E'
,
'\x9F'
,
'\xA0'
,
'\xA5'
,
'\xA2'
,
'\xA3'
,
'\xA4'
,
'\xBC'
,
'\x8C'
,
'\xA7'
,
'\xA8'
,
'\x8A'
,
'\xAA'
,
'\x8D'
,
'\x8F'
,
'\xAD'
,
'\x8E'
,
'\xAF'
,
'\xB0'
,
'\xB9'
,
'\xB2'
,
'\xB3'
,
'\xB4'
,
'\xBE'
,
'\x9C'
,
'\xB7'
,
'\xB8'
,
'\x9A'
,
'\xBA'
,
'\x9D'
,
'\x9F'
,
'\xBD'
,
'\x9E'
,
'\xBF'
,
'\xC0'
,
'\xC1'
,
'\xC2'
,
'\xC3'
,
'\xC4'
,
'\xC5'
,
'\xC6'
,
'\xC7'
,
'\xC8'
,
'\xC9'
,
'\xCA'
,
'\xCB'
,
'\xCC'
,
'\xCD'
,
'\xCE'
,
'\xCF'
,
'\xD0'
,
'\xD1'
,
'\xD2'
,
'\xD3'
,
'\xD4'
,
'\xD5'
,
'\xD6'
,
'\xD7'
,
'\xD8'
,
'\xD9'
,
'\xDA'
,
'\xDB'
,
'\xDC'
,
'\xDD'
,
'\xDE'
,
'\xDF'
,
'\xE0'
,
'\xE1'
,
'\xE2'
,
'\xE3'
,
'\xE4'
,
'\xE5'
,
'\xE6'
,
'\xE7'
,
'\xE8'
,
'\xE9'
,
'\xEA'
,
'\xEB'
,
'\xEC'
,
'\xED'
,
'\xEE'
,
'\xEF'
,
'\xF0'
,
'\xF1'
,
'\xF2'
,
'\xF3'
,
'\xF4'
,
'\xF5'
,
'\xF6'
,
'\xF7'
,
'\xF8'
,
'\xF9'
,
'\xFA'
,
'\xFB'
,
'\xFC'
,
'\xFD'
,
'\xFE'
,
'\xFF'
,
'\0'
};
QCString
result
;
int
len
=
sInput
.
length
();
for
(
int
i
=
0
;
i
<
len
;
++
i
)
{
unsigned
int
c
=
sInput
[
i
];
result
+=
(
c
>
127
)
?
ISOToWinTab
[
c
&
0x7F
]
:
c
;
}
return
result
;
}
public
:
public
:
QCString
idLanguage
()
QCString
idLanguage
()
{
return
"croatian"
;
}
{
return
"croatian"
;
}
...
...
src/translator_kr.h
0 → 100644
View file @
b91275de
This diff is collapsed.
Click to expand it.
src/util.cpp
View file @
b91275de
...
@@ -314,6 +314,31 @@ ClassDef *getClass(const char *name)
...
@@ -314,6 +314,31 @@ ClassDef *getClass(const char *name)
return
classDict
[
name
];
return
classDict
[
name
];
}
}
NamespaceDef
*
getResolvedNamespace
(
const
char
*
name
)
{
if
(
name
==
0
||
name
[
0
]
==
'\0'
)
return
0
;
QCString
*
subst
=
namespaceAliasDict
[
name
];
if
(
subst
)
{
int
count
=
0
;
// recursion detection guard
QCString
*
newSubst
;
while
((
newSubst
=
namespaceAliasDict
[
*
subst
])
&&
count
<
10
)
{
subst
=
newSubst
;
count
++
;
}
if
(
count
==
10
)
{
warn_cont
(
"Warning: possible recursive namespace alias detected for %s!
\n
"
,
name
);
}
return
namespaceDict
[
subst
->
data
()];
}
else
{
return
namespaceDict
[
name
];
}
}
ClassDef
*
getResolvedClass
(
const
char
*
name
)
ClassDef
*
getResolvedClass
(
const
char
*
name
)
{
{
if
(
name
==
0
||
name
[
0
]
==
'\0'
)
return
0
;
if
(
name
==
0
||
name
[
0
]
==
'\0'
)
return
0
;
...
@@ -2434,9 +2459,10 @@ void extractNamespaceName(const QCString &scopeName,
...
@@ -2434,9 +2459,10 @@ void extractNamespaceName(const QCString &scopeName,
{
{
QCString
clName
=
scopeName
.
copy
();
QCString
clName
=
scopeName
.
copy
();
//QCString nsName;
//QCString nsName;
if
(
!
clName
.
isEmpty
()
&&
namespaceDict
[
clName
]
&&
getClass
(
clName
)
==
0
)
NamespaceDef
*
nd
;
if
(
!
clName
.
isEmpty
()
&&
(
nd
=
getResolvedNamespace
(
clName
))
&&
getClass
(
clName
)
==
0
)
{
// the whole name is a namespace (and not a class)
{
// the whole name is a namespace (and not a class)
namespaceName
=
clName
.
copy
();
namespaceName
=
nd
->
name
()
.
copy
();
className
.
resize
(
0
);
className
.
resize
(
0
);
//printf("extractNamespace `%s' => `%s|%s'\n",scopeName.data(),
//printf("extractNamespace `%s' => `%s|%s'\n",scopeName.data(),
// className.data(),namespaceName.data());
// className.data(),namespaceName.data());
...
@@ -2446,9 +2472,9 @@ void extractNamespaceName(const QCString &scopeName,
...
@@ -2446,9 +2472,9 @@ void extractNamespaceName(const QCString &scopeName,
while
(
p
>=
0
&&
(
i
=
clName
.
findRev
(
"::"
,
p
))
!=-
1
)
while
(
p
>=
0
&&
(
i
=
clName
.
findRev
(
"::"
,
p
))
!=-
1
)
// see if the first part is a namespace (and not a class)
// see if the first part is a namespace (and not a class)
{
{
if
(
i
>
0
&&
namespaceDict
[
clName
.
left
(
i
)]
&&
getClass
(
clName
.
left
(
i
))
==
0
)
if
(
i
>
0
&&
(
nd
=
getResolvedNamespace
(
clName
.
left
(
i
)))
&&
getClass
(
clName
.
left
(
i
))
==
0
)
{
{
namespaceName
=
clName
.
left
(
i
);
namespaceName
=
nd
->
name
().
copy
(
);
className
=
clName
.
right
(
clName
.
length
()
-
i
-
2
);
className
=
clName
.
right
(
clName
.
length
()
-
i
-
2
);
//printf("extractNamespace `%s' => `%s|%s'\n",scopeName.data(),
//printf("extractNamespace `%s' => `%s|%s'\n",scopeName.data(),
// className.data(),namespaceName.data());
// className.data(),namespaceName.data());
...
...
src/util.h
View file @
b91275de
...
@@ -107,6 +107,7 @@ extern QCString substitute(const char *s,const char *src,const char *dst);
...
@@ -107,6 +107,7 @@ extern QCString substitute(const char *s,const char *src,const char *dst);
extern
QCString
resolveDefines
(
const
char
*
n
);
extern
QCString
resolveDefines
(
const
char
*
n
);
extern
ClassDef
*
getClass
(
const
char
*
key
);
extern
ClassDef
*
getClass
(
const
char
*
key
);
extern
ClassDef
*
getResolvedClass
(
const
char
*
key
);
extern
ClassDef
*
getResolvedClass
(
const
char
*
key
);
extern
NamespaceDef
*
getResolvedNamespace
(
const
char
*
key
);
extern
FileDef
*
findFileDef
(
const
FileNameDict
*
fnDict
,
const
char
*
n
,
extern
FileDef
*
findFileDef
(
const
FileNameDict
*
fnDict
,
const
char
*
n
,
bool
&
ambig
);
bool
&
ambig
);
extern
QCString
showFileDefMatches
(
const
FileNameDict
*
fnDict
,
const
char
*
n
);
extern
QCString
showFileDefMatches
(
const
FileNameDict
*
fnDict
,
const
char
*
n
);
...
...
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