summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2006-06-11 07:58:28 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2006-06-11 07:58:28 (GMT)
commit07ee85ebcc91a12df8a92078f33e700e5f9f40e8 (patch)
tree30cd22ecad5caf15fa470d190298c4e98b02e971
parentde0997f3baf049e0c312ac4fc9b9b762fdc40e00 (diff)
downloadDoxygen-07ee85ebcc91a12df8a92078f33e700e5f9f40e8.zip
Doxygen-07ee85ebcc91a12df8a92078f33e700e5f9f40e8.tar.gz
Doxygen-07ee85ebcc91a12df8a92078f33e700e5f9f40e8.tar.bz2
Release-1.4.7
-rw-r--r--INSTALL4
-rw-r--r--PLATFORMS1
-rw-r--r--README4
-rw-r--r--addon/doxywizard/doxywizard.cpp10
-rwxr-xr-xconfigure7
-rw-r--r--doc/diagrams.doc4
-rw-r--r--doc/install.doc8
-rw-r--r--doc/language.doc82
-rw-r--r--doc/translator_report.txt335
-rw-r--r--src/classdef.cpp15
-rw-r--r--src/code.l2
-rw-r--r--src/commentcnv.l3
-rw-r--r--src/commentscan.h3
-rw-r--r--src/commentscan.l31
-rw-r--r--src/config.l1
-rw-r--r--src/doctokenizer.l2
-rw-r--r--src/doxygen.cpp6
-rw-r--r--src/groupdef.cpp19
-rw-r--r--src/groupdef.h1
-rw-r--r--src/index.cpp17
-rw-r--r--src/memberdef.cpp29
-rw-r--r--src/memberdef.h2
-rw-r--r--src/memberlist.cpp27
-rw-r--r--src/memberlist.h8
-rw-r--r--src/pre.l4
-rw-r--r--src/pycode.l2
-rw-r--r--src/pyscanner.l1
-rw-r--r--src/scanner.l29
-rw-r--r--src/translator.h2
-rw-r--r--src/translator_adapter.h4
-rw-r--r--src/translator_br.h2
-rw-r--r--src/translator_cz.h16
-rw-r--r--src/translator_en.h14
-rw-r--r--src/translator_es.h73
-rw-r--r--src/translator_it.h13
-rwxr-xr-xtmake/lib/macosx-c++/tmake.conf4
-rw-r--r--tmake/lib/macosx-uni-c++/app.t2
-rw-r--r--tmake/lib/macosx-uni-c++/lib.t2
-rw-r--r--tmake/lib/macosx-uni-c++/subdirs.t2
-rw-r--r--tmake/lib/macosx-uni-c++/tmake.conf59
40 files changed, 629 insertions, 221 deletions
diff --git a/INSTALL b/INSTALL
index 9b786da..cacc382 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
-DOXYGEN Version 1.4.6-20060507
+DOXYGEN Version 1.4.7
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
-Dimitri van Heesch (07 May 2006)
+Dimitri van Heesch (11 June 2006)
diff --git a/PLATFORMS b/PLATFORMS
index 7650548..be58d6d 100644
--- a/PLATFORMS
+++ b/PLATFORMS
@@ -14,6 +14,7 @@ irix-n32
linux-g++
linux-64
macosx-c++
+macosx-uni-c++
m68k-atari-mint-g++
netbsd-g++
openbsd-g++
diff --git a/README b/README
index 358707a..609272b 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.4.6_20060507
+DOXYGEN Version 1.4.7
Please read INSTALL for compilation instructions.
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
-Dimitri van Heesch (dimitri@stack.nl) (07 May 2006)
+Dimitri van Heesch (dimitri@stack.nl) (11 June 2006)
diff --git a/addon/doxywizard/doxywizard.cpp b/addon/doxywizard/doxywizard.cpp
index b221530..230143c 100644
--- a/addon/doxywizard/doxywizard.cpp
+++ b/addon/doxywizard/doxywizard.cpp
@@ -1191,6 +1191,16 @@ void MainWidget::saveConfigFile()
if (!fn.isEmpty())
{
QFile f(fn);
+ if (f.exists() && QMessageBox::question(this,
+ "Overwrite file? -- Doxywizard",
+ "A file called "+fn+" already exists. Do you want to overwrite it?",
+ "&Yes","&no",
+ QString::null, 0, 1)
+ )
+ {
+ statusBar()->message("Save request aborted",messageTimeout);
+ return;
+ }
if (f.open(IO_WriteOnly))
{
QTextStream t(&f);
diff --git a/configure b/configure
index a335db9..27650f4 100755
--- a/configure
+++ b/configure
@@ -17,10 +17,10 @@
doxygen_version_major=1
doxygen_version_minor=4
-doxygen_version_revision=6
+doxygen_version_revision=7
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
-doxygen_version_mmn=20060507
+doxygen_version_mmn=NO
bin_dirs=`echo $PATH | sed -e "s/:/ /g"`
@@ -155,6 +155,9 @@ if test -z "$f_platform"; then
if test "$f_insttool" = NO; then
f_insttool=/usr/bin/install
fi
+ if test -n "`ls /Developer/SDKs/MacOSX10.*u.sdk`"; then
+ f_platform=macosx-uni-c++
+ fi
;;
FreeBSD:*)
f_platform=freebsd-g++
diff --git a/doc/diagrams.doc b/doc/diagrams.doc
index 41ff4f9..2329631 100644
--- a/doc/diagrams.doc
+++ b/doc/diagrams.doc
@@ -21,8 +21,8 @@
Doxygen can use the "dot" tool from graphviz 1.5 to generate
more advanced diagrams and graphs. Graphviz is an "open-sourced",
- cross-platform graph drawing toolkit from AT\&T and Lucent Bell Labs and
- can be found at http://www.research.att.com/sw/tools/graphviz/
+ cross-platform graph drawing toolkit and can be found
+ at http://www.graphviz.org/
If you have the "dot" tool available in the path, you can set
\ref cfg_have_dot "HAVE_DOT" to \c YES in the configuration file to
diff --git a/doc/install.doc b/doc/install.doc
index d424100..ad32d26 100644
--- a/doc/install.doc
+++ b/doc/install.doc
@@ -62,9 +62,9 @@ tools should be installed.
<a href="http://www.tug.org/interest.html#free">teTeX 1.0</a>
\latexonly \\par (see {\tt http://www.tug.org/interest.html\#free})\endlatexonly.
This is needed for generating LaTeX, Postscript, and PDF output.
-<li><a href="http://www.research.att.com/sw/tools/graphviz/">
+<li><a href="http://www.graphviz.org/">
the Graph visualization toolkit version 1.8.10 or higher</a>
- \latexonly \\par (see {\tt http://www.research.att.com/sw/tools/graphviz/})\endlatexonly.
+ \latexonly \\par (see {\tt http://www.graphviz.org/})\endlatexonly.
Needed for the include dependency graphs,
the graphical inheritance graphs, and the collaboration graphs.
If you compile graphviz yourself, make sure you do include
@@ -559,9 +559,9 @@ features:
You can download it from
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/vsconHH1Start.asp">Microsoft</a>.
-<li><a href="http://www.research.att.com/sw/tools/graphviz/">
+<li><a href="http://www.graphviz.org/">
the Graph visualization toolkit version 1.8.10</a><br>
- \latexonly(see {\tt http://www.research.att.com/sw/tools/graphviz/})\endlatexonly.
+ \latexonly(see {\tt http://www.graphviz.org/})\endlatexonly.
Needed for the include dependency graphs, the graphical inheritance graphs,
and the collaboration graphs.
</ul>
diff --git a/doc/language.doc b/doc/language.doc
index 05beecc..0c8ef41 100644
--- a/doc/language.doc
+++ b/doc/language.doc
@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other
than English (the default). The output language is chosen through the
configuration file (with default name and known as Doxyfile).
-Currently (version 1.4.6), 31 languages
+Currently (version 1.4.7), 31 languages
are supported (sorted alphabetically):
Afrikaans, Brazilian Portuguese, Catalan, Chinese, Chinese
Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French,
@@ -54,19 +54,19 @@ when the translator was updated.
<td>Afrikaans</td>
<td>Johan Prinsloo</td>
<td>johan at zippysnoek dot com</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Brazilian Portuguese</td>
<td>Fabio "FJTC" Jun Takada Chino</td>
<td>jun-chino at uol dot com dot br</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Catalan</td>
<td>Maximiliano Pin<br>Albert Mora</td>
<td>mcpin at emtesistemas dot com<br>amora at iua dot upf dot es</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Chinese</td>
@@ -78,19 +78,19 @@ when the translator was updated.
<td>Chinese Traditional</td>
<td>Daniel YC Lin<br>Gary Lee</td>
<td>daniel at twpda dot com<br>garylee at ecosine dot com dot tw</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Croatian</td>
<td>Boris Bralo</td>
<td>boris.bralo at zg dot htnet dot hr</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Czech</td>
<td>Petr P&#x0159;ikryl</td>
<td>prikrylp at skil dot cz</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Danish</td>
@@ -120,13 +120,13 @@ when the translator was updated.
<td>French</td>
<td>Xavier Outhier</td>
<td>xouthier at yahoo dot fr</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>German</td>
<td>Jens Seidel</td>
<td>jensseidel at users dot sf dot net</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Greek</td>
@@ -138,25 +138,25 @@ when the translator was updated.
<td>Hungarian</td>
<td>&Aacute;kos Kiss<br>F&ouml;ldv&aacute;ri Gy&ouml;rgy</td>
<td>akiss at users dot sourceforge dot net<br>foldvari lost at cyberspace</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Indonesian</td>
<td>Hendy Irawan</td>
<td>ceefour at gauldong dot net</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Italian</td>
<td>Alessandro Falappa<br>Ahmed Aldo Faisal</td>
<td>alessandro at falappa dot net<br>aaf23 at cam dot ac dot uk</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Japanese</td>
<td>Ryunosuke Satoh<br>Kenji Nagamatsu<br>Iwasa Kazmi</td>
<td>sun594 at hotmail dot com<br>naga at joyful dot club dot ne dot jp<br>iwasa at cosmo-system dot jp</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>JapaneseEn</td>
@@ -168,7 +168,7 @@ when the translator was updated.
<td>Korean</td>
<td>SooYoung Jung<br>Richard Kim</td>
<td>jung5000 at gmail dot com<br>ryk at dspwiz dot com</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>KoreanEn</td>
@@ -180,19 +180,19 @@ when the translator was updated.
<td>Lithuanian</td>
<td>Tomas Simonaitis<br>Mindaugas Radzius<br>Aidas Berukstis</td>
<td>haden at homelan dot lt<br>mindaugasradzius at takas dot lt<br>aidasber at takas dot lt</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Norwegian</td>
<td>Lars Erik Jordet</td>
<td>lejordet at gmail dot com</td>
- <td>1.3.9</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Polish</td>
<td>Piotr Kaminski<br>Grzegorz Kowal</td>
<td>Piotr.Kaminski at ctm dot gdynia dot pl<br>g_kowal at poczta dot onet dot pl</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Portuguese</td>
@@ -210,7 +210,7 @@ when the translator was updated.
<td>Russian</td>
<td>Alexandr Chelpanov</td>
<td>cav at cryptopro dot ru</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Serbian</td>
@@ -228,19 +228,19 @@ when the translator was updated.
<td>Slovene</td>
<td>Matja&#x017e; Ostrover&#x0161;nik</td>
<td>matjaz.ostroversnik at ztm dot si</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Spanish</td>
<td>Francisco Oltra Thennet</td>
<td>foltra at puc dot cl</td>
- <td>1.3.8</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Swedish</td>
<td>Mikael Hallin</td>
<td>mikaelhallin at yahoo dot se</td>
- <td>up-to-date</td>
+ <td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Ukrainian</td>
@@ -263,22 +263,22 @@ when the translator was updated.
\hline
\hline
- Afrikaans & Johan Prinsloo & {\tt\tiny johan@zippysnoek.com} & up-to-date \\
+ Afrikaans & Johan Prinsloo & {\tt\tiny johan@zippysnoek.com} & 1.4.6 \\
\hline
- Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino@uol.com.br} & up-to-date \\
+ Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino@uol.com.br} & 1.4.6 \\
\hline
- Catalan & Maximiliano Pin & {\tt\tiny mcpin@emtesistemas.com} & up-to-date \\
+ Catalan & Maximiliano Pin & {\tt\tiny mcpin@emtesistemas.com} & 1.4.6 \\
~ & Albert Mora & {\tt\tiny amora@iua.upf.es} & ~ \\
\hline
Chinese & Li Daobing & {\tt\tiny lidaobing@gmail.com} & 1.4.1 \\
~ & Wei Liu & {\tt\tiny liuwei@asiainfo.com} & ~ \\
\hline
- Chinese Traditional & Daniel YC Lin & {\tt\tiny daniel@twpda.com} & up-to-date \\
+ Chinese Traditional & Daniel YC Lin & {\tt\tiny daniel@twpda.com} & 1.4.6 \\
~ & Gary Lee & {\tt\tiny garylee@ecosine.com.tw} & ~ \\
\hline
- Croatian & Boris Bralo & {\tt\tiny boris.bralo@zg.htnet.hr} & up-to-date \\
+ Croatian & Boris Bralo & {\tt\tiny boris.bralo@zg.htnet.hr} & 1.4.6 \\
\hline
- Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp@skil.cz} & up-to-date \\
+ Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp@skil.cz} & 1.4.6 \\
\hline
Danish & Erik S\o{}e S\o{}rensen & {\tt\tiny eriksoe+doxygen@daimi.au.dk} & 1.3.9 \\
\hline
@@ -288,55 +288,55 @@ when the translator was updated.
\hline
Finnish & Olli Korhonen & {\tt\tiny olli.korhonen lost@cyberspace} & obsolete \\
\hline
- French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & up-to-date \\
+ French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & 1.4.6 \\
\hline
- German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} & up-to-date \\
+ German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} & 1.4.6 \\
\hline
Greek & Harry Kalogirou & {\tt\tiny harkal@rainbow.cs.unipi.gr} & 1.2.11 \\
\hline
- Hungarian & \'{A}kos Kiss & {\tt\tiny akiss@users.sourceforge.net} & up-to-date \\
+ Hungarian & \'{A}kos Kiss & {\tt\tiny akiss@users.sourceforge.net} & 1.4.6 \\
~ & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny foldvari lost@cyberspace} & ~ \\
\hline
- Indonesian & Hendy Irawan & {\tt\tiny ceefour@gauldong.net} & up-to-date \\
+ Indonesian & Hendy Irawan & {\tt\tiny ceefour@gauldong.net} & 1.4.6 \\
\hline
- Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} & up-to-date \\
+ Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} & 1.4.6 \\
~ & Ahmed Aldo Faisal & {\tt\tiny aaf23@cam.ac.uk} & ~ \\
\hline
- Japanese & Ryunosuke Satoh & {\tt\tiny sun594@hotmail.com} & up-to-date \\
+ Japanese & Ryunosuke Satoh & {\tt\tiny sun594@hotmail.com} & 1.4.6 \\
~ & Kenji Nagamatsu & {\tt\tiny naga@joyful.club.ne.jp} & ~ \\
~ & Iwasa Kazmi & {\tt\tiny iwasa@cosmo-system.jp} & ~ \\
\hline
JapaneseEn & see the Japanese language & {\tt\tiny ~} & English based \\
\hline
- Korean & SooYoung Jung & {\tt\tiny jung5000@gmail.com} & up-to-date \\
+ Korean & SooYoung Jung & {\tt\tiny jung5000@gmail.com} & 1.4.6 \\
~ & Richard Kim & {\tt\tiny ryk@dspwiz.com} & ~ \\
\hline
KoreanEn & see the Korean language & {\tt\tiny ~} & English based \\
\hline
- Lithuanian & Tomas Simonaitis & {\tt\tiny haden@homelan.lt} & up-to-date \\
+ Lithuanian & Tomas Simonaitis & {\tt\tiny haden@homelan.lt} & 1.4.6 \\
~ & Mindaugas Radzius & {\tt\tiny mindaugasradzius@takas.lt} & ~ \\
~ & Aidas Berukstis & {\tt\tiny aidasber@takas.lt} & ~ \\
\hline
- Norwegian & Lars Erik Jordet & {\tt\tiny lejordet@gmail.com} & 1.3.9 \\
+ Norwegian & Lars Erik Jordet & {\tt\tiny lejordet@gmail.com} & 1.4.6 \\
\hline
- Polish & Piotr Kaminski & {\tt\tiny Piotr.Kaminski@ctm.gdynia.pl} & up-to-date \\
+ Polish & Piotr Kaminski & {\tt\tiny Piotr.Kaminski@ctm.gdynia.pl} & 1.4.6 \\
~ & Grzegorz Kowal & {\tt\tiny g\_kowal@poczta.onet.pl} & ~ \\
\hline
Portuguese & Rui Godinho Lopes & {\tt\tiny ruiglopes@yahoo.com} & 1.3.3 \\
\hline
Romanian & Alexandru Iosup & {\tt\tiny aiosup@yahoo.com} & 1.4.1 \\
\hline
- Russian & Alexandr Chelpanov & {\tt\tiny cav@cryptopro.ru} & up-to-date \\
+ Russian & Alexandr Chelpanov & {\tt\tiny cav@cryptopro.ru} & 1.4.6 \\
\hline
Serbian & Dejan Milosavljevic & {\tt\tiny dmilos@email.com} & 1.4.1 \\
\hline
Slovak & Stanislav Kudl\'{a}\v{c} & {\tt\tiny skudlac@pobox.sk} & 1.2.18 \\
\hline
- Slovene & Matja\v{z} Ostrover\v{s}nik & {\tt\tiny matjaz.ostroversnik@ztm.si} & up-to-date \\
+ Slovene & Matja\v{z} Ostrover\v{s}nik & {\tt\tiny matjaz.ostroversnik@ztm.si} & 1.4.6 \\
\hline
- Spanish & Francisco Oltra Thennet & {\tt\tiny foltra@puc.cl} & 1.3.8 \\
+ Spanish & Francisco Oltra Thennet & {\tt\tiny foltra@puc.cl} & 1.4.6 \\
\hline
- Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} & up-to-date \\
+ Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} & 1.4.6 \\
\hline
Ukrainian & Olexij Tkatchenko & {\tt\tiny olexij.tkatchenko@parcs.de} & 1.4.1 \\
\hline
diff --git a/doc/translator_report.txt b/doc/translator_report.txt
index 614e56a..17aa5f7 100644
--- a/doc/translator_report.txt
+++ b/doc/translator_report.txt
@@ -1,4 +1,4 @@
-(1.4.6)
+(1.4.7)
Doxygen supports the following 31 languages (sorted alphabetically):
@@ -8,35 +8,17 @@ German, Greek, Hungarian, Indonesian, Italian, Japanese (+En), Korean
(+En), Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian,
Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-Of them, 20 translators are up-to-date, 11 translators are based on
+Of them, 2 translators are up-to-date, 29 translators are based on
some adapter class, and 2 are English based.
----------------------------------------------------------------------
The following translator classes are up-to-date (sorted
alphabetically). This means that they derive from the Translator class
-and they implement all 192 of the required methods. Anyway, there
+and they implement all 194 of the required methods. Anyway, there
still may be some details listed even for them:
- TranslatorAfrikaans
- TranslatorBrazilian -- Remove the obsolete methods (never used).
- TranslatorCatalan
- TranslatorChinesetraditional -- Remove the obsolete methods (never used).
- TranslatorCroatian
- TranslatorCzech
TranslatorDutch -- Remove the obsolete methods (never used).
TranslatorEnglish -- Remove the obsolete methods (never used).
- TranslatorFrench -- Remove the obsolete methods (never used).
- TranslatorGerman
- TranslatorHungarian
- TranslatorIndonesian -- Remove the obsolete methods (never used).
- TranslatorItalian
- TranslatorJapanese -- Remove the obsolete methods (never used).
- TranslatorKorean
- TranslatorLithuanian
- TranslatorPolish -- Remove the obsolete methods (never used).
- TranslatorRussian
- TranslatorSlovene
- TranslatorSwedish
----------------------------------------------------------------------
The following translator classes need some maintenance (the most
@@ -44,17 +26,35 @@ obsolete at the end). The other info shows the estimation of Doxygen
version when the class was last updated and number of methods that
must be implemented to become up-to-date:
- TranslatorUkrainian 1.4.1 1 method to implement
- TranslatorSerbian 1.4.1 1 method to implement
- TranslatorRomanian 1.4.1 1 method to implement
- TranslatorChinese 1.4.1 1 method to implement
- TranslatorNorwegian 1.3.9 7 methods to implement
- TranslatorDanish 1.3.9 7 methods to implement
- TranslatorSpanish 1.3.8 8 methods to implement
- TranslatorPortuguese 1.3.3 12 methods to implement
- TranslatorSlovak 1.2.18 21 methods to implement
- TranslatorGreek 1.2.11 26 methods to implement
- TranslatorFinnish obsolete 95 methods to implement
+ TranslatorSwedish 1.4.6 2 methods to implement
+ TranslatorSpanish 1.4.6 1 method to implement
+ TranslatorSlovene 1.4.6 2 methods to implement
+ TranslatorRussian 1.4.6 2 methods to implement
+ TranslatorPolish 1.4.6 1 method to implement
+ TranslatorNorwegian 1.4.6 1 method to implement
+ TranslatorLithuanian 1.4.6 2 methods to implement
+ TranslatorKorean 1.4.6 2 methods to implement
+ TranslatorJapanese 1.4.6 1 method to implement
+ TranslatorItalian 1.4.6 1 method to implement
+ TranslatorIndonesian 1.4.6 1 method to implement
+ TranslatorHungarian 1.4.6 2 methods to implement
+ TranslatorGerman 1.4.6 2 methods to implement
+ TranslatorFrench 1.4.6 1 method to implement
+ TranslatorCzech 1.4.6 1 method to implement
+ TranslatorCroatian 1.4.6 2 methods to implement
+ TranslatorChinesetraditional 1.4.6 1 method to implement
+ TranslatorCatalan 1.4.6 2 methods to implement
+ TranslatorBrazilian 1.4.6 1 method to implement
+ TranslatorAfrikaans 1.4.6 2 methods to implement
+ TranslatorUkrainian 1.4.1 2 methods to implement
+ TranslatorSerbian 1.4.1 2 methods to implement
+ TranslatorRomanian 1.4.1 2 methods to implement
+ TranslatorChinese 1.4.1 3 methods to implement
+ TranslatorDanish 1.3.9 8 methods to implement
+ TranslatorPortuguese 1.3.3 13 methods to implement
+ TranslatorSlovak 1.2.18 22 methods to implement
+ TranslatorGreek 1.2.11 27 methods to implement
+ TranslatorFinnish obsolete 96 methods to implement
----------------------------------------------------------------------
The following translator classes derive directly from the
@@ -70,11 +70,26 @@ Details for translators (classes sorted alphabetically):
-TranslatorBrazilian (Translator)
+TranslatorAfrikaans (TranslatorAdapter_1_4_6) 2 methods to implement
-------------------
Implements 192 of the required methods.
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
+ virtual QCString trEnumerationValueDocumentation()
+
+
+TranslatorBrazilian (TranslatorAdapter_1_4_6) 1 method to implement
+-------------------
+
+ Implements 193 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
+
Obsolete methods (should be removed, never used):
virtual QCString trHeaderFilesDescription()
@@ -85,11 +100,21 @@ TranslatorBrazilian (Translator)
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
-TranslatorChinese (TranslatorAdapter_1_4_1) 1 method to implement
+TranslatorCatalan (TranslatorAdapter_1_4_6) 2 methods to implement
+-----------------
+
+ Implements 192 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
+ virtual QCString trEnumerationValueDocumentation()
+
+
+TranslatorChinese (TranslatorAdapter_1_4_1) 3 methods to implement
-----------------
Implements 191 of the required methods.
@@ -97,12 +122,18 @@ TranslatorChinese (TranslatorAdapter_1_4_1) 1 method to implement
Missing methods (should be implemented):
virtual QCString trOverloadText()
+ virtual QCString trCallerGraph()
+ virtual QCString trEnumerationValueDocumentation()
-TranslatorChinesetraditional (Translator)
+TranslatorChinesetraditional (TranslatorAdapter_1_4_6) 1 method to implement
----------------------------
- Implements 192 of the required methods.
+ Implements 193 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
Obsolete methods (should be removed, never used):
@@ -114,14 +145,34 @@ TranslatorChinesetraditional (Translator)
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
-TranslatorDanish (TranslatorAdapter_1_3_9) 7 methods to implement
+TranslatorCroatian (TranslatorAdapter_1_4_6) 2 methods to implement
+------------------
+
+ Implements 192 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
+ virtual QCString trEnumerationValueDocumentation()
+
+
+TranslatorCzech (TranslatorAdapter_1_4_6) 1 method to implement
+---------------
+
+ Implements 193 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trEnumerationValueDocumentation()
+
+
+TranslatorDanish (TranslatorAdapter_1_3_9) 8 methods to implement
----------------
- Implements 185 of the required methods.
+ Implements 186 of the required methods.
Missing methods (should be implemented):
@@ -130,6 +181,7 @@ TranslatorDanish (TranslatorAdapter_1_3_9) 7 methods to implement
virtual QCString trDirDocumentation()
virtual QCString trDirectories()
virtual QCString trDirDescription()
+ virtual QCString trCallerGraph()
virtual QCString trDirReference(const char * dirName)
virtual QCString trDir(bool first_capital, bool singular)
@@ -143,14 +195,13 @@ TranslatorDanish (TranslatorAdapter_1_3_9) 7 methods to implement
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
TranslatorDutch (Translator)
---------------
- Implements 192 of the required methods.
+ Implements 194 of the required methods.
Obsolete methods (should be removed, never used):
@@ -162,14 +213,13 @@ TranslatorDutch (Translator)
QCString trInterfaces()
QCString trHeaderFiles()
QCString trBugsAndLimitations()
- QCString trEnumerationValueDocumentation()
QCString trNoDescriptionAvailable()
TranslatorEnglish (Translator)
-----------------
- Implements 192 of the required methods.
+ Implements 194 of the required methods.
Obsolete methods (should be removed, never used):
@@ -181,14 +231,13 @@ TranslatorEnglish (Translator)
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
-TranslatorFinnish (TranslatorEnglish) 95 methods to implement
+TranslatorFinnish (TranslatorEnglish) 96 methods to implement
-----------------
- Implements 97 of the required methods.
+ Implements 98 of the required methods.
Missing methods (should be implemented):
@@ -265,6 +314,7 @@ TranslatorFinnish (TranslatorEnglish) 95 methods to implement
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()
@@ -297,14 +347,17 @@ TranslatorFinnish (TranslatorEnglish) 95 methods to implement
QCString trHeaderFiles()
QCString trAuthors()
QCString trBugsAndLimitations()
- QCString trEnumerationValueDocumentation()
QCString trNoDescriptionAvailable()
-TranslatorFrench (Translator)
+TranslatorFrench (TranslatorAdapter_1_4_6) 1 method to implement
----------------
- Implements 192 of the required methods.
+ Implements 193 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
Obsolete methods (should be removed, never used):
@@ -316,14 +369,24 @@ TranslatorFrench (Translator)
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
-TranslatorGreek (TranslatorAdapter_1_2_11) 26 methods to implement
+TranslatorGerman (TranslatorAdapter_1_4_6) 2 methods to implement
+----------------
+
+ Implements 192 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
+ virtual QCString trEnumerationValueDocumentation()
+
+
+TranslatorGreek (TranslatorAdapter_1_2_11) 27 methods to implement
---------------
- Implements 166 of the required methods.
+ Implements 167 of the required methods.
Missing methods (should be implemented):
@@ -346,6 +409,7 @@ TranslatorGreek (TranslatorAdapter_1_2_11) 26 methods to implement
virtual QCString trPackageAttribs()
virtual QCString trSearchMatches()
virtual QCString trEvents()
+ virtual QCString trCallerGraph()
virtual QCString trReferences()
virtual QCString trSourceFile(QCString & filename)
virtual QCString trDirReference(const char * dirName)
@@ -364,15 +428,29 @@ TranslatorGreek (TranslatorAdapter_1_2_11) 26 methods to implement
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
-TranslatorIndonesian (Translator)
---------------------
+TranslatorHungarian (TranslatorAdapter_1_4_6) 2 methods to implement
+-------------------
Implements 192 of the required methods.
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
+ virtual QCString trEnumerationValueDocumentation()
+
+
+TranslatorIndonesian (TranslatorAdapter_1_4_6) 1 method to implement
+--------------------
+
+ Implements 193 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
+
Obsolete methods (should be removed, never used):
virtual QCString trHeaderFilesDescription()
@@ -383,14 +461,27 @@ TranslatorIndonesian (Translator)
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
-TranslatorJapanese (Translator)
+TranslatorItalian (TranslatorAdapter_1_4_6) 1 method to implement
+-----------------
+
+ Implements 193 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trEnumerationValueDocumentation()
+
+
+TranslatorJapanese (TranslatorAdapter_1_4_6) 1 method to implement
------------------
- Implements 192 of the required methods.
+ Implements 193 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
Obsolete methods (should be removed, never used):
@@ -402,11 +493,10 @@ TranslatorJapanese (Translator)
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
-TranslatorJapaneseEn (TranslatorEnglish) 187 methods to implement
+TranslatorJapaneseEn (TranslatorEnglish) 189 methods to implement
--------------------
Implements 5 of the required methods.
@@ -420,7 +510,18 @@ TranslatorJapaneseEn (TranslatorEnglish) 187 methods to implement
virtual QCString latexLanguageSupportCommand()
-TranslatorKoreanEn (TranslatorEnglish) 187 methods to implement
+TranslatorKorean (TranslatorAdapter_1_4_6) 2 methods to implement
+----------------
+
+ Implements 192 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
+ virtual QCString trEnumerationValueDocumentation()
+
+
+TranslatorKoreanEn (TranslatorEnglish) 189 methods to implement
------------------
Implements 5 of the required methods.
@@ -434,20 +535,25 @@ TranslatorKoreanEn (TranslatorEnglish) 187 methods to implement
virtual QCString latexLanguageSupportCommand()
-TranslatorNorwegian (TranslatorAdapter_1_3_9) 7 methods to implement
+TranslatorLithuanian (TranslatorAdapter_1_4_6) 2 methods to implement
+--------------------
+
+ Implements 192 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
+ virtual QCString trEnumerationValueDocumentation()
+
+
+TranslatorNorwegian (TranslatorAdapter_1_4_6) 1 method to implement
-------------------
- Implements 185 of the required methods.
+ Implements 193 of the required methods.
Missing methods (should be implemented):
- virtual QCString trOverloadText()
- virtual QCString trDirIndex()
- virtual QCString trDirDocumentation()
- virtual QCString trDirectories()
- virtual QCString trDirDescription()
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
+ virtual QCString trCallerGraph()
Obsolete methods (should be removed, never used):
@@ -459,14 +565,17 @@ TranslatorNorwegian (TranslatorAdapter_1_3_9) 7 methods to implement
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
-TranslatorPolish (Translator)
+TranslatorPolish (TranslatorAdapter_1_4_6) 1 method to implement
----------------
- Implements 192 of the required methods.
+ Implements 193 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
Obsolete methods (should be removed, never used):
@@ -478,14 +587,13 @@ TranslatorPolish (Translator)
virtual QCString trInterfaces()
QCString trHeaderFiles()
QCString trBugsAndLimitations()
- QCString trEnumerationValueDocumentation()
QCString trNoDescriptionAvailable()
-TranslatorPortuguese (TranslatorAdapter_1_3_3) 12 methods to implement
+TranslatorPortuguese (TranslatorAdapter_1_3_3) 13 methods to implement
--------------------
- Implements 180 of the required methods.
+ Implements 181 of the required methods.
Missing methods (should be implemented):
@@ -497,6 +605,7 @@ TranslatorPortuguese (TranslatorAdapter_1_3_3) 12 methods to implement
virtual QCString trDirDescription()
virtual QCString trSearchResults(int numDocuments)
virtual QCString trSearchMatches()
+ virtual QCString trCallerGraph()
virtual QCString trSourceFile(QCString & filename)
virtual QCString trDirReference(const char * dirName)
virtual QCString trDir(bool first_capital, bool singular)
@@ -512,18 +621,18 @@ TranslatorPortuguese (TranslatorAdapter_1_3_3) 12 methods to implement
virtual QCString trInterfaces()
QCString trHeaderFiles()
QCString trBugsAndLimitations()
- QCString trEnumerationValueDocumentation()
QCString trNoDescriptionAvailable()
-TranslatorRomanian (TranslatorAdapter_1_4_1) 1 method to implement
+TranslatorRomanian (TranslatorAdapter_1_4_1) 2 methods to implement
------------------
- Implements 191 of the required methods.
+ Implements 192 of the required methods.
Missing methods (should be implemented):
virtual QCString trOverloadText()
+ virtual QCString trCallerGraph()
Obsolete methods (should be removed, never used):
@@ -535,18 +644,29 @@ TranslatorRomanian (TranslatorAdapter_1_4_1) 1 method to implement
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
-TranslatorSerbian (TranslatorAdapter_1_4_1) 1 method to implement
+TranslatorRussian (TranslatorAdapter_1_4_6) 2 methods to implement
-----------------
- Implements 191 of the required methods.
+ Implements 192 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
+ virtual QCString trEnumerationValueDocumentation()
+
+
+TranslatorSerbian (TranslatorAdapter_1_4_1) 2 methods to implement
+-----------------
+
+ Implements 192 of the required methods.
Missing methods (should be implemented):
virtual QCString trOverloadText()
+ virtual QCString trCallerGraph()
Obsolete methods (should be removed, never used):
@@ -558,14 +678,13 @@ TranslatorSerbian (TranslatorAdapter_1_4_1) 1 method to implement
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
-TranslatorSlovak (TranslatorAdapter_1_2_18) 21 methods to implement
+TranslatorSlovak (TranslatorAdapter_1_2_18) 22 methods to implement
----------------
- Implements 171 of the required methods.
+ Implements 172 of the required methods.
Missing methods (should be implemented):
@@ -585,6 +704,7 @@ TranslatorSlovak (TranslatorAdapter_1_2_18) 21 methods to implement
virtual QCString trPackageAttribs()
virtual QCString trSearchMatches()
virtual QCString trEvents()
+ virtual QCString trCallerGraph()
virtual QCString trSourceFile(QCString & filename)
virtual QCString trDirReference(const char * dirName)
virtual QCString trDir(bool first_capital, bool singular)
@@ -601,25 +721,28 @@ TranslatorSlovak (TranslatorAdapter_1_2_18) 21 methods to implement
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
-TranslatorSpanish (TranslatorAdapter_1_3_8) 8 methods to implement
+TranslatorSlovene (TranslatorAdapter_1_4_6) 2 methods to implement
-----------------
- Implements 184 of the required methods.
+ Implements 192 of the required methods.
Missing methods (should be implemented):
- virtual QCString trOverloadText()
- virtual QCString trDirIndex()
- virtual QCString trDirDocumentation()
- virtual QCString trDirectories()
- virtual QCString trDirDescription()
- virtual QCString trSourceFile(QCString & filename)
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
+ virtual QCString trCallerGraph()
+ virtual QCString trEnumerationValueDocumentation()
+
+
+TranslatorSpanish (TranslatorAdapter_1_4_6) 1 method to implement
+-----------------
+
+ Implements 193 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
Obsolete methods (should be removed, never used):
@@ -631,18 +754,29 @@ TranslatorSpanish (TranslatorAdapter_1_3_8) 8 methods to implement
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable()
-TranslatorUkrainian (TranslatorAdapter_1_4_1) 1 method to implement
+TranslatorSwedish (TranslatorAdapter_1_4_6) 2 methods to implement
+-----------------
+
+ Implements 192 of the required methods.
+
+ Missing methods (should be implemented):
+
+ virtual QCString trCallerGraph()
+ virtual QCString trEnumerationValueDocumentation()
+
+
+TranslatorUkrainian (TranslatorAdapter_1_4_1) 2 methods to implement
-------------------
- Implements 191 of the required methods.
+ Implements 192 of the required methods.
Missing methods (should be implemented):
virtual QCString trOverloadText()
+ virtual QCString trCallerGraph()
Obsolete methods (should be removed, never used):
@@ -654,5 +788,4 @@ TranslatorUkrainian (TranslatorAdapter_1_4_1) 1 method to implement
virtual QCString trInterfaces()
virtual QCString trHeaderFiles()
virtual QCString trBugsAndLimitations()
- virtual QCString trEnumerationValueDocumentation()
virtual QCString trNoDescriptionAvailable() \ No newline at end of file
diff --git a/src/classdef.cpp b/src/classdef.cpp
index cea3d69..5450b46 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -2055,22 +2055,27 @@ bool ClassDef::isLinkable() const
/*! the class is visible in a class diagram, or class hierarchy */
bool ClassDef::isVisibleInHierarchy()
{
- return // show all classes or a subclass is visible
- (Config_getBool("ALLEXTERNALS") || hasNonReferenceSuperClass()) &&
+ static bool allExternals = Config_getBool("ALLEXTERNALS");
+ static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE");
+ static bool hideUndocClasses = Config_getBool("HIDE_UNDOC_CLASSES");
+ static bool extractStatic = Config_getBool("EXTRACT_STATIC");
+
+ return // show all classes or a subclass is visible
+ (allExternals || hasNonReferenceSuperClass()) &&
// and not an annonymous compound
name().find('@')==-1 &&
// not an artifically introduced class
!m_artificial &&
// and not privately inherited
- (m_prot!=Private || Config_getBool("EXTRACT_PRIVATE")) &&
+ (m_prot!=Private || extractPrivate) &&
// documented or shown anyway or documentation is external
(hasDocumentation() ||
- !Config_getBool("HIDE_UNDOC_CLASSES") ||
+ !hideUndocClasses ||
(m_templateMaster && m_templateMaster->hasDocumentation()) ||
isReference()
) &&
// is not part of an unnamed namespace or shown anyway
- (!m_isStatic || Config_getBool("EXTRACT_STATIC"));
+ (!m_isStatic || extractStatic);
}
bool ClassDef::hasDocumentation() const
diff --git a/src/code.l b/src/code.l
index f6acb71..07a3fc6 100644
--- a/src/code.l
+++ b/src/code.l
@@ -3152,7 +3152,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
extern "C" { // some bogus code to keep the compiler happy
void codeYYdummy() { yy_flex_realloc(0,0); }
}
-#else
+#elif YY_FLEX_SUBMINOR_VERSION<33
#error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)."
#endif
diff --git a/src/commentcnv.l b/src/commentcnv.l
index cf22972..a64d66a 100644
--- a/src/commentcnv.l
+++ b/src/commentcnv.l
@@ -493,8 +493,9 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'"))
BEGIN(g_condCtx);
}
<CondLine>[ \t]*
-<CComment,ReadLine>[\\@]"cond"[ \t]*\n |
+<CComment,ReadLine>[\\@]"cond"[ \t\r]*\n |
<CondLine>. { // forgot section id?
+ if (YY_START!=CondLine) g_condCtx=YY_START;
bool oldSkip=g_skip;
startCondSection(" "); // fake section id causing the section to be hidden unconditionally
if (g_condCtx==CComment && !oldSkip && g_skip)
diff --git a/src/commentscan.h b/src/commentscan.h
index b2d3d0d..a30ae61 100644
--- a/src/commentscan.h
+++ b/src/commentscan.h
@@ -42,6 +42,8 @@ class ParserInterface;
* @param[in] isJavaDocStyle TRUE iff this comment block is in "JavaDoc" style.
* This means that it starts as a brief description until the end of
* the sentences is found and then proceeds as a detailed description.
+ * @param[in] isInbody TRUE iff this comment block is located in the body of
+ * a function.
* @param[in,out] prot The protection level in which this comment block was
* found. Commands in the comment block may override this.
* @param[in,out] position The character position within \a comment where the
@@ -63,6 +65,7 @@ bool parseCommentBlock(ParserInterface *parser,
int lineNr,
bool isBrief,
bool isJavaDocStyle,
+ bool isInbody,
Protection &prot,
int &position,
bool &newEntryNeeded
diff --git a/src/commentscan.l b/src/commentscan.l
index 47e8b5a..35f2566 100644
--- a/src/commentscan.l
+++ b/src/commentscan.l
@@ -261,7 +261,8 @@ enum OutputContext
{
OutputDoc,
OutputBrief,
- OutputXRef
+ OutputXRef,
+ OutputInbody
};
enum GuardType
@@ -299,7 +300,7 @@ static QCString inputString; // input string
static int inputPosition; // read pointer
static QCString yyFileName; // file name that is read from
static int yyLineNr; // line number in the input
-//static bool inBody; // was the comment found inside the body of a function?
+static bool inBody; // was the comment found inside the body of a function?
static OutputContext inContext; // are we inside the brief, details or xref part
static bool briefEndsAtDot; // does the brief description stop at a dot?
static QCString formulaText; // Running text of a formula
@@ -479,7 +480,14 @@ static void addXRefItem(const char *listName,const char *itemTitle,
docEntry->addSpecialListItem(listName,itemId);
QCString cmdString;
cmdString.sprintf("\\xrefitem %s %d\n",listName,itemId);
- docEntry->doc += cmdString;
+ if (inBody)
+ {
+ docEntry->inbodyDocs += cmdString;
+ }
+ else
+ {
+ docEntry->doc += cmdString;
+ }
SectionInfo *si=new SectionInfo(listName,anchorLabel,
sectionTitle,SectionInfo::Anchor);
Doxygen::sectionDict.insert(anchorLabel,si);
@@ -605,6 +613,7 @@ static inline void setOutput(OutputContext ctx)
}
inContext = ctx;
+ if (inContext!=OutputXRef && inBody) inContext=OutputInbody;
switch(inContext)
{
case OutputDoc:
@@ -629,6 +638,9 @@ static inline void setOutput(OutputContext ctx)
// first item found, so can't append to previous
//xrefAppendFlag = FALSE;
break;
+ case OutputInbody:
+ pOutputString = &current->inbodyDocs;
+ break;
}
}
@@ -780,7 +792,7 @@ MAILADR [a-z_A-Z0-9.+\-]+"@"[a-z_A-Z0-9\-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]
<Comment>("\\"[a-z_A-Z]+)+"\\" { // directory (or chain of commands!)
addOutput(yytext);
}
-<Comment>{XREFCMD}/[^a-z_A-Z]* { // command that can end a brief description
+<Comment>{XREFCMD}/[^a-z_A-Z]* { // xref command
if (inContext!=OutputXRef)
{
briefEndsAtDot=FALSE;
@@ -826,7 +838,12 @@ MAILADR [a-z_A-Z0-9.+\-]+"@"[a-z_A-Z0-9\-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]
// yuk, this is probably not very portable across lex implementations,
// but we need to know the position in the input buffer where this
// rule matched.
+ // for flex 2.5.33+ we should use YY_CURRENT_BUFFER_LVALUE
+#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33
+ inputPosition=prevPosition + yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+#else
inputPosition=prevPosition + yy_bp - yy_current_buffer->yy_ch_buf;
+#endif
yyterminate();
}
}
@@ -2177,6 +2194,7 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
/* in */ int lineNr,
/* in */ bool isBrief,
/* in */ bool isJavaDocStyle,
+ /* in */ bool isInbody,
/* in,out */ Protection &prot,
/* in,out */ int &position,
/* out */ bool &newEntryNeeded
@@ -2202,10 +2220,15 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
xrefAppendFlag = FALSE;
insidePre = FALSE;
parseMore = FALSE;
+ inBody = isInbody;
outputXRef.resize(0);
setOutput( isBrief || isJavaDocStyle ? OutputBrief : OutputDoc );
briefEndsAtDot = isJavaDocStyle;
+ if (!current->inbodyDocs.isEmpty() && isInbody) // separate in body fragments
+ {
+ current->inbodyDocs+="\n\n";
+ }
Debug::print(Debug::CommentScan,0,"-----------\nCommentScanner: %s:%d\n"
"input=[%s]\n",fileName.data(),lineNr,comment.data()
diff --git a/src/config.l b/src/config.l
index 9755fca..9ec2b75 100644
--- a/src/config.l
+++ b/src/config.l
@@ -311,6 +311,7 @@ static int yyread(char *buf,int max_size)
if (includeStack.isEmpty())
{
int c=0;
+ if (inputString==0) return c;
while( c < max_size && inputString[inputPosition] )
{
*buf = inputString[inputPosition++] ;
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index 811127a..100dd11 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -325,7 +325,7 @@ OPMASK ({BLANK}*{OPNORM}{FUNCARG}?)|({OPCAST}{FUNCARG})
LNKWORD1 ("::"|"#")?{SCOPEMASK}
CVSPEC {BLANK}*("const"|"volatile")
LNKWORD2 {SCOPEPRE}*"operator"{OPMASK}
-LNKWORD3 [0-9a-z_A-Z]+("."[0-9a-z_A-Z]+)+
+LNKWORD3 ([0-9a-z_A-Z\-]+("/"|"\\"))*[0-9a-z_A-Z\-]+("."[0-9a-z_A-Z]+)+
CHARWORD [^ \t\n\r\\@<>()\[\]:;\?{}&%$#,.]
CHARWORDQ [^ \t\n\r\\@<>()\[\]:;\?{}&%$#,."]
WORD1 "%"?{CHARWORD}+|"{"|"}"|("\""[^"\n]*"\"")
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 4a8015e..6932f1d 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -120,7 +120,7 @@ SearchIndex * Doxygen::searchIndex=0;
SDict<DefinitionList> *Doxygen::symbolMap;
bool Doxygen::outputToWizard=FALSE;
QDict<int> * Doxygen::htmlDirMap = 0;
-QCache<LookupInfo> Doxygen::lookupCache(20000,20000);
+QCache<LookupInfo> Doxygen::lookupCache(50000,50000);
DirSDict Doxygen::directories(17);
SDict<DirRelation> Doxygen::dirRelations(257);
ParserManager *Doxygen::parserManager = 0;
@@ -4889,7 +4889,6 @@ static void findMember(Entry *root,
else
{
scopeName = mergeScopes(root->parent->name,scopeName);
- printf("joinedName=%s\n",scopeName.data());
}
}
else // see if we can prefix a namespace or class that is used from the file
@@ -6131,7 +6130,7 @@ static void findEnumDocumentation(Entry *root)
md->setMemberGroupId(root->mGrpId);
GroupDef *gd=md->getGroupDef();
- if (gd==0 &&root->groups->first()!=0) // member not grouped but out-of-line documentation is
+ if (gd==0 && root->groups->first()!=0) // member not grouped but out-of-line documentation is
{
addMemberToGroups(root,md);
}
@@ -7894,6 +7893,7 @@ static int readFileOrDirectory(const char *s,
{
//printf("killDict=%p count=%d\n",killDict,killDict->count());
// strip trailing slashes
+ if (s==0) return 0;
QCString fs = s;
char lc = fs.at(fs.length()-1);
if (lc=='/' || lc=='\\') fs = fs.left(fs.length()-1);
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index 94df15f..d0ce1cc 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -71,6 +71,7 @@ GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t,
docProtoMembers.setInGroup(TRUE);
docTypedefMembers.setInGroup(TRUE);
docEnumMembers.setInGroup(TRUE);
+ docEnumValMembers.setInGroup(TRUE);
docFuncMembers.setInGroup(TRUE);
docVarMembers.setInGroup(TRUE);
@@ -302,6 +303,18 @@ bool GroupDef::insertMember(MemberDef *md,bool docOnly)
docEnumMembers.append(md);
break;
case MemberDef::EnumValue:
+ if (!docOnly)
+ {
+ //printf("enum value %s!\n",md->name().data());
+ if (Config_getBool("SORT_BRIEF_DOCS"))
+ decEnumValMembers.inSort(md);
+ else
+ decEnumValMembers.append(md);
+ }
+ if (Config_getBool("SORT_MEMBER_DOCS"))
+ docEnumValMembers.inSort(md);
+ else
+ docEnumValMembers.append(md);
break;
case MemberDef::Prototype:
if (!docOnly)
@@ -381,6 +394,8 @@ void GroupDef::removeMember(MemberDef *md)
docEnumMembers.remove(md);
break;
case MemberDef::EnumValue:
+ decEnumValMembers.remove(md);
+ docEnumValMembers.remove(md);
break;
case MemberDef::Prototype:
decProtoMembers.remove(md);
@@ -654,6 +669,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
decProtoMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trFuncProtos(),0);
decTypedefMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trTypedefs(),0);
decEnumMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trEnumerations(),0);
+ decEnumValMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trEnumerationValues(),0,TRUE);
decFuncMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trFunctions(),0);
decVarMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trVariables(),0);
}
@@ -729,6 +745,9 @@ void GroupDef::writeMemberDocumentation(OutputList &ol)
docEnumMembers.writeDocumentation(ol,name(),this,
theTranslator->trEnumerationTypeDocumentation());
+ docEnumValMembers.writeDocumentation(ol,name(),this,
+ theTranslator->trEnumerationValueDocumentation(),TRUE);
+
docFuncMembers.writeDocumentation(ol,name(),this,
theTranslator->trFunctionDocumentation());
diff --git a/src/groupdef.h b/src/groupdef.h
index ac939d8..2fe2302 100644
--- a/src/groupdef.h
+++ b/src/groupdef.h
@@ -106,6 +106,7 @@ class GroupDef : public Definition
MemberList docProtoMembers;
MemberList docTypedefMembers;
MemberList docEnumMembers;
+ MemberList docEnumValMembers;
MemberList docFuncMembers;
MemberList docVarMembers;
diff --git a/src/index.cpp b/src/index.cpp
index 0aa76ac..0c8394c 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -625,7 +625,10 @@ static int countClassesInTreeList(const ClassSDict &cl)
{
if (cd->isVisibleInHierarchy()) // should it be visible
{
- count++;
+ if (cd->subClasses()->count()>0) // should have sub classes
+ {
+ count++;
+ }
}
}
}
@@ -634,17 +637,6 @@ static int countClassesInTreeList(const ClassSDict &cl)
int countClassHierarchy()
{
-#if 0
-// TODO: let this function return the real number of items in the hierarchy.
- initClassHierarchy(&Doxygen::classSDict);
- int count=0;
- ClassSDict::Iterator cli(Doxygen::classSDict);
- for ( ; cli.current(); ++cli)
- {
- if (cli.current()->subClasses()->count()>0) count++;
- }
- return count;
-#endif
int count=0;
initClassHierarchy(&Doxygen::classSDict);
initClassHierarchy(&Doxygen::hiddenClasses);
@@ -657,7 +649,6 @@ int countClassHierarchy()
void writeHierarchicalIndex(OutputList &ol)
{
- //printf("writeHierarchicalIndex: %d classes\n",hierarchyClasses);
if (hierarchyClasses==0) return;
ol.pushGeneratorState();
ol.disable(OutputGenerator::Man);
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 87f620d..753e353 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -694,7 +694,18 @@ void MemberDef::writeLink(OutputList &ol,ClassDef *,NamespaceDef *,
}
if (!onlyText) // write link
{
- ol.writeObjectLink(getReference(),getOutputFileBase(),anchor(),n);
+ if (mtype==EnumValue && getGroupDef()==0 && // enum value is not grouped
+ getEnumScope() && getEnumScope()->getGroupDef()) // but its container is
+ {
+ GroupDef *enumValGroup = getEnumScope()->getGroupDef();
+ ol.writeObjectLink(enumValGroup->getReference(),
+ enumValGroup->getOutputFileBase(),
+ anchor(),n);
+ }
+ else
+ {
+ ol.writeObjectLink(getReference(),getOutputFileBase(),anchor(),n);
+ }
}
else // write only text
{
@@ -1029,6 +1040,10 @@ void MemberDef::writeDeclaration(OutputList &ol,
}
}
}
+ else if (ltype=="@") // rename type from enum values
+ {
+ ltype="";
+ }
else
{
if (isObjCMethod())
@@ -1291,7 +1306,8 @@ bool MemberDef::isDetailedSectionVisible(bool inGroup,bool inFile) const
void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
const char *scName,
Definition *container,
- bool inGroup
+ bool inGroup,
+ bool showEnumValues
)
{
// if this member is in a group find the real scope name.
@@ -1301,7 +1317,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
//printf("MemberDef::writeDocumentation(): name=`%s' hasDocs=`%d' containerType=%d inGroup=%d\n",
// name().data(),hasDocs,container->definitionType(),inGroup);
if ( !hasDocs ) return;
- if (isEnumValue()) return;
+ if (isEnumValue() && !showEnumValues) return;
QCString scopeName = scName;
QCString memAnchor = anchor();
@@ -1357,6 +1373,13 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ldef.prepend("enum ");
}
}
+ else if (isEnumValue())
+ {
+ if (ldef.at(0)=='@')
+ {
+ ldef=ldef.mid(2);
+ }
+ }
int i=0,l;
static QRegExp r("@[0-9]+");
diff --git a/src/memberdef.h b/src/memberdef.h
index dcfa401..d7da3db 100644
--- a/src/memberdef.h
+++ b/src/memberdef.h
@@ -194,7 +194,7 @@ class MemberDef : public Definition
bool inGroup);
void writeDocumentation(MemberList *ml,OutputList &ol,
const char *scopeName,Definition *container,
- bool inGroup);
+ bool inGroup,bool showEnumValues=FALSE);
void warnIfUndocumented();
// relation to other members
diff --git a/src/memberlist.cpp b/src/memberlist.cpp
index 2a2cef7..1fb225e 100644
--- a/src/memberlist.cpp
+++ b/src/memberlist.cpp
@@ -50,7 +50,7 @@ int MemberList::compareItems(GCI item1, GCI item2)
/*! Count the number of members in this list that are visible in
* the declaration part of a compound's documentation page.
*/
-void MemberList::countDecMembers()
+void MemberList::countDecMembers(bool countEnumValues)
{
if (m_numDecMembers!=-1) return;
@@ -77,7 +77,8 @@ void MemberList::countDecMembers()
m_funcCnt++,m_numDecMembers++;
break;
case MemberDef::Enumeration: m_enumCnt++,m_numDecMembers++; break;
- case MemberDef::EnumValue: //m_enumValCnt++,m_numDecMembers++;
+ case MemberDef::EnumValue: if (countEnumValues)
+ m_enumValCnt++,m_numDecMembers++;
break;
case MemberDef::Typedef: m_typeCnt++,m_numDecMembers++; break;
case MemberDef::Prototype: m_protoCnt++,m_numDecMembers++; break;
@@ -117,7 +118,7 @@ void MemberList::countDecMembers()
//printf("MemberList::countDecMembers()=%d\n",m_numDecMembers);
}
-void MemberList::countDocMembers()
+void MemberList::countDocMembers(bool countEnumValues)
{
if (m_numDocMembers!=-1) return; // used cached value
m_numDocMembers=0;
@@ -128,7 +129,8 @@ void MemberList::countDocMembers()
if (md->isDetailedSectionVisible(m_inGroup,m_inFile))
{
// do not count enum values, since they do not produce entries of their own
- if (md->memberType()!=MemberDef::EnumValue) m_numDocMembers++;
+ if (countEnumValues || md->memberType()!=MemberDef::EnumValue)
+ m_numDocMembers++;
}
}
if (memberGroupList)
@@ -181,9 +183,10 @@ void MemberList::writePlainDeclarations(OutputList &ol,
MemberListIterator mli(*this);
for ( ; (md=mli.current()); ++mli )
{
+ //printf(">>> Member `%s' type=%d visible=%d\n",
+ // md->name().data(),md->memberType(),md->isBriefSectionVisible());
if (md->isBriefSectionVisible())
{
- //printf(">>> Member `%s' type=%d\n",md->name().data(),md->memberType());
switch(md->memberType())
{
case MemberDef::Define: // fall through
@@ -264,6 +267,10 @@ void MemberList::writePlainDeclarations(OutputList &ol,
break;
}
case MemberDef::EnumValue:
+ {
+ if (first) ol.startMemberList(),first=FALSE;
+ md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup);
+ }
break;
}
}
@@ -298,11 +305,11 @@ void MemberList::writePlainDeclarations(OutputList &ol,
void MemberList::writeDeclarations(OutputList &ol,
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
- const char *title,const char *subtitle
+ const char *title,const char *subtitle, bool showEnumValues
/*, bool inGroup,bool countSubGroups*/)
{
//printf("----- writeDeclaration() ----\n");
- countDecMembers(); // count member not in group
+ countDecMembers(showEnumValues); // count member not in group
if (numDecMembers()==0) return;
//printf("MemberList::writeDeclaration(title=`%s',subtitle=`%s')=%d\n",title,subtitle,numDecMembers());
if (title)
@@ -355,11 +362,11 @@ void MemberList::writeDeclarations(OutputList &ol,
void MemberList::writeDocumentation(OutputList &ol,
const char *scopeName, Definition *container,
- const char *title)
+ const char *title,bool showEnumValues)
{
//printf("MemberList::writeDocumentation()\n");
- countDocMembers();
+ countDocMembers(showEnumValues);
if (numDocMembers()==0) return;
if (title)
@@ -375,7 +382,7 @@ void MemberList::writeDocumentation(OutputList &ol,
MemberDef *md;
for ( ; (md=mli.current()) ; ++mli)
{
- md->writeDocumentation(this,ol,scopeName,container,m_inGroup);
+ md->writeDocumentation(this,ol,scopeName,container,m_inGroup,showEnumValues);
}
if (memberGroupList)
{
diff --git a/src/memberlist.h b/src/memberlist.h
index 78a317b..c9f1fef 100644
--- a/src/memberlist.h
+++ b/src/memberlist.h
@@ -45,15 +45,15 @@ class MemberList : public QList<MemberDef>
int friendCount() const { ASSERT(m_numDecMembers!=-1); return m_friendCnt; }
int numDecMembers() const { ASSERT(m_numDecMembers!=-1); return m_numDecMembers; }
int numDocMembers() const { ASSERT(m_numDocMembers!=-1); return m_numDocMembers; }
- void countDecMembers(/*bool inGroup,bool countSubGroups,bool sectionPerType*/);
- void countDocMembers();
+ void countDecMembers(bool countEnumValues=FALSE);
+ void countDocMembers(bool countEnumValues=FALSE);
void writePlainDeclarations(OutputList &ol,
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd);
void writeDeclarations(OutputList &ol,
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
- const char *title,const char *subtitle);
+ const char *title,const char *subtitle,bool showEnumValues=FALSE);
void writeDocumentation(OutputList &ol,const char *scopeName,
- Definition *container,const char *title);
+ Definition *container,const char *title,bool showEnumValues=FALSE);
void writeDocumentationPage(OutputList &ol,
const char *scopeName, Definition *container);
void addMemberGroup(MemberGroup *mg);
diff --git a/src/pre.l b/src/pre.l
index b4a3787..672104f 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -1872,7 +1872,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
outputArray(yytext,yyleng);
BEGIN(g_condCtx);
}
-<SkipCComment,SkipCPPComment>[\\@]"cond"[ \t]+\n |
+<SkipCComment,SkipCPPComment>[\\@]"cond"[ \t\r]*\n |
<CondLine>. {
outputArray(yytext,yyleng);
startCondSection(" ");
@@ -1943,7 +1943,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<SkipCPPComment>"//" {
outputChar('/');outputChar('/');
}
-<SkipCPPComment>[^\x06\n]+ {
+<SkipCPPComment>[^\x06\@\\\n]+ {
outputArray(yytext,yyleng);
}
<SkipCPPComment>. {
diff --git a/src/pycode.l b/src/pycode.l
index cfa2da2..ae3c543 100644
--- a/src/pycode.l
+++ b/src/pycode.l
@@ -1431,7 +1431,7 @@ void parsePythonCode(CodeOutputInterface &od,const char *className,
extern "C" { // some bogus code to keep the compiler happy
void pycodeYYdummy() { yy_flex_realloc(0,0); }
}
-#else
+#elif YY_FLEX_SUBMINOR_VERSION<33
#error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)."
#endif
diff --git a/src/pyscanner.l b/src/pyscanner.l
index d3b4dcc..6420e40 100644
--- a/src/pyscanner.l
+++ b/src/pyscanner.l
@@ -308,6 +308,7 @@ static void handleCommentBlock(const QCString &doc,bool brief)
brief ? current->briefLine : current->docLine, // line of block start
docBlockInBody ? FALSE : brief,
docBlockJavaStyle, // javadoc style
+ docBlockInBody,
protection,
position,
needsEntry)
diff --git a/src/scanner.l b/src/scanner.l
index 9001e80..d16c50f 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2006 by Dimitri van Heesch.
+ * Copyright (C) 1997-2005 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -2569,7 +2569,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
// see if the compound does not have a name or is inside another
// annonymous compound. If so we insert a
// special `annonymous' variable.
- Entry *p=current_root;
+ //Entry *p=current_root;
+ Entry *p=current;
while (p)
{
// only look for class scopes, not namespace scopes
@@ -2586,7 +2587,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
break;
}
}
- p=p->parent;
+ //p=p->parent;
+ if (p==current) p=current_root; else p=p->parent;
}
}
//printf("msName=%s current->name=%s\n",msName.data(),current->name.data());
@@ -3416,6 +3418,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
else
{
+#if 0
if (!Config_getBool("HIDE_IN_BODY_DOCS") &&
!current->doc.isEmpty())
{
@@ -3430,6 +3433,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
previous->inbodyDocs += current->doc;
current->doc.resize(0);
}
+#endif
if (current->sli) // copy special list items
{
QListIterator<ListItemInfo> li(*current->sli);
@@ -3880,7 +3884,16 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
<Specialization>{BN}+ { lineCount(); *specName +=' '; }
<Specialization>"<<" { *specName += yytext; }
-<Specialization>">>" { *specName += yytext; }
+<Specialization>">>" {
+ if (insideCS) // for C# >> ends a nested template
+ {
+ REJECT;
+ }
+ else // for C++ >> is a bitshift operator and > > would end a nested template
+ {
+ *specName += yytext;
+ }
+ }
<Specialization>"typename"{BN}+ { lineCount(); }
<Specialization>"(" { *specName += *yytext; roundCount++; }
<Specialization>")" { *specName += *yytext; roundCount--; }
@@ -3977,7 +3990,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
insideCode=FALSE;
current->program += yytext ;
}
-<Comment>[^ \.\n\/\*]+ { current->program += yytext ; }
+<Comment>[^ \.\t\r\n\/\*]+ { current->program += yytext ; }
<Comment>"*/" { current->program += yytext ;
if (!insideCode) BEGIN( lastContext ) ;
}
@@ -4405,6 +4418,7 @@ static void handleCommentBlock(const QCString &doc,bool brief)
int position=0;
bool needsEntry=FALSE;
if (docBlockInBody && hideInBodyDocs) return;
+#if 0
if (docBlockInBody)
{
if (previous==0)
@@ -4417,6 +4431,7 @@ static void handleCommentBlock(const QCString &doc,bool brief)
previous->doc=previous->doc.stripWhiteSpace()+"\n\n";
}
}
+#endif
//printf("parseCommentBlock [%s]\n",doc.data());
while (parseCommentBlock(
g_thisParser,
@@ -4426,6 +4441,7 @@ static void handleCommentBlock(const QCString &doc,bool brief)
brief ? current->briefLine : current->docLine, // line of block start
docBlockInBody ? FALSE : brief,
docBlockInBody ? FALSE : docBlockJavaStyle,
+ docBlockInBody,
protection,
position,
needsEntry
@@ -4440,7 +4456,9 @@ static void handleCommentBlock(const QCString &doc,bool brief)
newEntry();
}
+#if 0
exit:
+#endif
if (docBlockTerm)
{
unput(docBlockTerm);
@@ -4479,6 +4497,7 @@ static void handleParametersCommentBlocks()
current->docLine, // line of block start
FALSE,
FALSE,
+ FALSE,
protection,
position,
needsEntry
diff --git a/src/translator.h b/src/translator.h
index 93f33a8..449af81 100644
--- a/src/translator.h
+++ b/src/translator.h
@@ -135,7 +135,6 @@ class Translator
virtual QCString trFunctionPrototypeDocumentation() = 0;
virtual QCString trTypedefDocumentation() = 0;
virtual QCString trEnumerationTypeDocumentation() = 0;
- //virtual QCString trEnumerationValueDocumentation() = 0;
virtual QCString trFunctionDocumentation() = 0;
virtual QCString trVariableDocumentation() = 0;
virtual QCString trCompounds() = 0;
@@ -446,6 +445,7 @@ class Translator
//////////////////////////////////////////////////////////////////////////
virtual QCString trCallerGraph() = 0;
+ virtual QCString trEnumerationValueDocumentation() = 0;
};
diff --git a/src/translator_adapter.h b/src/translator_adapter.h
index 1505918..e3a1119 100644
--- a/src/translator_adapter.h
+++ b/src/translator_adapter.h
@@ -51,6 +51,10 @@ class TranslatorAdapter_1_4_6 : public TranslatorAdapterBase
{
return english.trCallerGraph();
}
+ virtual QCString trEnumerationValueDocumentation()
+ {
+ return english.trEnumerationValueDocumentation();
+ }
};
class TranslatorAdapter_1_4_1 : public TranslatorAdapter_1_4_6
diff --git a/src/translator_br.h b/src/translator_br.h
index db33976..8363795 100644
--- a/src/translator_br.h
+++ b/src/translator_br.h
@@ -469,7 +469,7 @@ class TranslatorBrazilian : public TranslatorAdapter_1_4_6
* documentation blocks for defines
*/
virtual QCString trDefineDocumentation()
- { return "Deinições e macros"; }
+ { return "Definições e macros"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes
diff --git a/src/translator_cz.h b/src/translator_cz.h
index d85e554..2221469 100644
--- a/src/translator_cz.h
+++ b/src/translator_cz.h
@@ -65,6 +65,9 @@
// 2004/09/14 - The new methods "since 1.3.9" implemented.
// 2005/02/11 - The "never used" methods removed.
// 2005/03/08 - Update for "new since 1.4.1" (trOverloadText())
+// 2006/05/10 - Update for "new since 1.4.6" -- trCallerGraph(),
+// modified trCallGraph() to make the meaning unambiguous
+// and clear in the Czech language.
// Todo
// ----
@@ -1488,7 +1491,7 @@ class TranslatorCzech : public TranslatorAdapter_1_4_6
/*! Put in front of the call graph for a function. */
virtual QCString trCallGraph()
{
- return decode("Graf volání pro tuto funkci:");
+ return decode("Tato funkce volá...");
}
//////////////////////////////////////////////////////////////////////////
@@ -1620,6 +1623,17 @@ class TranslatorCzech : public TranslatorAdapter_1_4_6
"která má usnadnit používání. Od výše uvedené metody se liší "
"pouze jinak zadávanými argumenty.");
}
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.4.6
+//////////////////////////////////////////////////////////////////////////
+
+ virtual QCString trCallerGraph()
+ {
+ return decode("Tuto funkci volají...");
+ }
+
+
};
#endif // TRANSLATOR_CZ_H
diff --git a/src/translator_en.h b/src/translator_en.h
index 165bf4b..e365835 100644
--- a/src/translator_en.h
+++ b/src/translator_en.h
@@ -502,12 +502,6 @@ class TranslatorEnglish : public Translator
{ return "Enumeration Type Documentation"; }
/*! This is used in the documentation of a file/namespace before the list
- * of documentation blocks for enumeration values
- */
- virtual QCString trEnumerationValueDocumentation()
- { return "Enumerator Documentation"; }
-
- /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
*/
virtual QCString trFunctionDocumentation()
@@ -1624,11 +1618,19 @@ class TranslatorEnglish : public Translator
// new since 1.4.6
//////////////////////////////////////////////////////////////////////////
+ /*! This is used to introduce a caller (or called-by) graph */
virtual QCString trCallerGraph()
{
return "Here is the caller graph for this function:";
}
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for enumeration values
+ */
+ virtual QCString trEnumerationValueDocumentation()
+ { return "Enumerator Documentation"; }
+
+
};
#endif
diff --git a/src/translator_es.h b/src/translator_es.h
index 1369637..10b2aa7 100644
--- a/src/translator_es.h
+++ b/src/translator_es.h
@@ -20,12 +20,13 @@
* Some notes:
* - It's posible that some sentences haven't got meaning because
* some words haven't got translate in spanish.
+ * Updated from 1.3.8 to 1.4.6 by Guillermo Ballester Valor (May-05-2006)
*/
#ifndef TRANSLATOR_ES_H
#define TRANSLATOR_ES_H
-class TranslatorSpanish : public TranslatorAdapter_1_3_8
+class TranslatorSpanish : public TranslatorAdapter_1_4_6
{
public:
virtual QCString idLanguage()
@@ -1376,6 +1377,76 @@ class TranslatorSpanish : public TranslatorAdapter_1_3_8
return "Coincidencias:";
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.8
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used in HTML as the title of page with source code for file filename
+ */
+ virtual QCString trSourceFile(QCString& filename)
+ {
+ return "Fichero Fuente " + filename;
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.9
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used as the name of the chapter containing the directory
+ * hierarchy.
+ */
+ virtual QCString trDirIndex()
+ { return "Jerarquía de Directorio"; }
+
+ /*! This is used as the name of the chapter containing the documentation
+ * of the directories.
+ */
+ virtual QCString trDirDocumentation()
+ { return "Documentación de Directorio"; }
+
+ /*! This is used as the title of the directory index and also in the
+ * Quick links of an HTML page, to link to the directory hierarchy.
+ */
+ virtual QCString trDirectories()
+ { return "Directorios"; }
+
+ /*! This returns a sentences that introduces the directory hierarchy.
+ * and the fact that it is sorted alphabetically per level
+ */
+ virtual QCString trDirDescription()
+ { return "La jeraquía de este directorio está ordenada casi, "
+ "pero no completamente, de forma alfabética:";
+ }
+
+ /*! This returns the title of a directory page. The name of the
+ * directory is passed via \a dirName.
+ */
+ virtual QCString trDirReference(const char *dirName)
+ { QCString result="Referencia del Directorio "; result+=dirName; return result; }
+
+ /*! This returns the word directory with or without starting capital
+ * (\a first_capital) and in sigular or plural form (\a singular).
+ */
+ virtual QCString trDir(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Directori" : "directori"));
+ if (singular) result+="o"; else result+="os";
+ return result;
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.4.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This text is added to the documentation when the \\overload command
+ * is used for a overloaded function.
+ */
+ virtual QCString trOverloadText()
+ {
+ return "Esta es una función miembro sobrecargada que se "
+ "suministra por conveniencia. Difiere de la anterior "
+ "función solamente en los argumentos que acepta.";
+ }
};
diff --git a/src/translator_it.h b/src/translator_it.h
index f49381c..5515a89 100644
--- a/src/translator_it.h
+++ b/src/translator_it.h
@@ -19,6 +19,8 @@
*
* Revision history
*
+ * 2006/05: translated new items used since version 1.4.6
+ * corrected typo in trPackageMembers method
* 2005/03: translated new items used since version 1.4.1
* removed unused methods listed in Petr Prikryl February 28 translator report
* 2004/09: translated new items used since version 1.3.9
@@ -1362,7 +1364,7 @@ class TranslatorItalian : public TranslatorAdapter_1_4_6
*/
virtual QCString trPackageMembers()
{
- return "Funczioni con visibilità di package";
+ return "Funzioni con visibilità di package";
}
/*! Used as a heading for a list of static Java class functions with
* package scope.
@@ -1524,6 +1526,15 @@ class TranslatorItalian : public TranslatorAdapter_1_4_6
"unicamente per gli argomenti passati.";
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.4.6
+//////////////////////////////////////////////////////////////////////////
+
+ virtual QCString trCallerGraph()
+ {
+ return "Questo è il grafo dei chiamanti di questa funzione:";
+ }
+
};
#endif
diff --git a/tmake/lib/macosx-c++/tmake.conf b/tmake/lib/macosx-c++/tmake.conf
index 0df5e06..cd4978b 100755
--- a/tmake/lib/macosx-c++/tmake.conf
+++ b/tmake/lib/macosx-c++/tmake.conf
@@ -8,7 +8,7 @@ TEMPLATE = app
CONFIG = qt warn_on release
TMAKE_CC = cc
-TMAKE_CFLAGS = -pipe -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc
+TMAKE_CFLAGS = -pipe
TMAKE_CFLAGS_WARN_ON = -Wall -W
TMAKE_CFLAGS_WARN_OFF =
TMAKE_CFLAGS_RELEASE = -O2
@@ -36,7 +36,7 @@ TMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
TMAKE_LINK = c++
TMAKE_LINK_SHLIB = c++
-TMAKE_LFLAGS = -Wl,-search_paths_first -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc
+TMAKE_LFLAGS = -Wl,-search_paths_first
TMAKE_LFLAGS_RELEASE =
TMAKE_LFLAGS_DEBUG =
TMAKE_LFLAGS_SHLIB = -shared
diff --git a/tmake/lib/macosx-uni-c++/app.t b/tmake/lib/macosx-uni-c++/app.t
new file mode 100644
index 0000000..867725e
--- /dev/null
+++ b/tmake/lib/macosx-uni-c++/app.t
@@ -0,0 +1,2 @@
+#! Use the common Unix template
+#$ IncludeTemplate("../unix/app.t");
diff --git a/tmake/lib/macosx-uni-c++/lib.t b/tmake/lib/macosx-uni-c++/lib.t
new file mode 100644
index 0000000..2523b2f
--- /dev/null
+++ b/tmake/lib/macosx-uni-c++/lib.t
@@ -0,0 +1,2 @@
+#! Use the common Unix template
+#$ IncludeTemplate("../unix/lib.t");
diff --git a/tmake/lib/macosx-uni-c++/subdirs.t b/tmake/lib/macosx-uni-c++/subdirs.t
new file mode 100644
index 0000000..5e888af
--- /dev/null
+++ b/tmake/lib/macosx-uni-c++/subdirs.t
@@ -0,0 +1,2 @@
+#! Use the common Unix template
+#$ IncludeTemplate("../unix/subdirs.t");
diff --git a/tmake/lib/macosx-uni-c++/tmake.conf b/tmake/lib/macosx-uni-c++/tmake.conf
new file mode 100644
index 0000000..0df5e06
--- /dev/null
+++ b/tmake/lib/macosx-uni-c++/tmake.conf
@@ -0,0 +1,59 @@
+#
+#
+#
+# tmake configuration for macosx-c++
+#
+
+TEMPLATE = app
+CONFIG = qt warn_on release
+
+TMAKE_CC = cc
+TMAKE_CFLAGS = -pipe -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc
+TMAKE_CFLAGS_WARN_ON = -Wall -W
+TMAKE_CFLAGS_WARN_OFF =
+TMAKE_CFLAGS_RELEASE = -O2
+TMAKE_CFLAGS_DEBUG = -g
+TMAKE_CFLAGS_SHLIB = -fPIC
+TMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+
+TMAKE_CXX = c++
+TMAKE_CXXFLAGS = $$TMAKE_CFLAGS -D__FreeBSD__=6
+TMAKE_CXXFLAGS_WARN_ON = $$TMAKE_CFLAGS_WARN_ON
+TMAKE_CXXFLAGS_WARN_OFF = $$TMAKE_CFLAGS_WARN_OFF
+TMAKE_CXXFLAGS_RELEASE = $$TMAKE_CFLAGS_RELEASE
+TMAKE_CXXFLAGS_DEBUG = $$TMAKE_CFLAGS_DEBUG
+TMAKE_CXXFLAGS_SHLIB = $$TMAKE_CFLAGS_SHLIB
+TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC
+
+TMAKE_INCDIR =
+TMAKE_LIBDIR =
+TMAKE_INCDIR_X11 =
+TMAKE_LIBDIR_X11 =
+TMAKE_INCDIR_QT = $(QTDIR)/include
+TMAKE_LIBDIR_QT = $(QTDIR)/lib
+TMAKE_INCDIR_OPENGL = /usr/X11R6/include
+TMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+TMAKE_LINK = c++
+TMAKE_LINK_SHLIB = c++
+TMAKE_LFLAGS = -Wl,-search_paths_first -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc
+TMAKE_LFLAGS_RELEASE =
+TMAKE_LFLAGS_DEBUG =
+TMAKE_LFLAGS_SHLIB = -shared
+
+TMAKE_LFLAGS_SONAME = -dynamiclib -install_name
+
+TMAKE_LIBS =
+TMAKE_LIBS_X11 =
+TMAKE_LIBS_QT = -lqt
+TMAKE_LIBS_QT_MT = -lqt-mt
+TMAKE_LIBS_QT_OPENGL = -lqgl
+TMAKE_LIBS_OPENGL = -lMesaGL -lMesaGLU -lXmu
+
+TMAKE_MOC = moc
+
+TMAKE_AR = ar cq
+TMAKE_RANLIB = ranlib
+
+TMAKE_TAR = tar -cf
+TMAKE_GZIP = gzip -9f