summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2005-02-10 18:38:13 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2005-02-10 18:38:13 (GMT)
commit11de530ba769e4e2735a20a74262380d51f8772f (patch)
tree654e62c3ea86e579f0642040b094a844d4e5223c
parentc635cffd1d8bcf5bcbe90ce2c3c5fc3371e01a1c (diff)
downloadDoxygen-11de530ba769e4e2735a20a74262380d51f8772f.zip
Doxygen-11de530ba769e4e2735a20a74262380d51f8772f.tar.gz
Doxygen-11de530ba769e4e2735a20a74262380d51f8772f.tar.bz2
Release-1.4.1-20050210
-rw-r--r--INSTALL4
-rw-r--r--README4
-rw-r--r--VERSION2
-rw-r--r--doc/commands.doc17
-rw-r--r--doc/config.doc15
-rw-r--r--doc/language.doc6
-rw-r--r--doc/translator_report.txt610
-rw-r--r--packages/rpm/doxygen.spec2
-rw-r--r--src/Makefile.in2
-rw-r--r--src/code.l44
-rw-r--r--src/commentscan.l29
-rw-r--r--src/docparser.cpp3
-rw-r--r--src/doctokenizer.l13
-rw-r--r--src/doxygen.cpp2
-rw-r--r--src/namespacedef.cpp77
-rw-r--r--src/scanner.l158
-rw-r--r--src/translator.h20
-rw-r--r--src/translator_ua.h271
-rw-r--r--src/xmlgen.cpp5
19 files changed, 1038 insertions, 246 deletions
diff --git a/INSTALL b/INSTALL
index 17a973a..00cf3be 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
-DOXYGEN Version 1.4.1-20050129
+DOXYGEN Version 1.4.1-20050210
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
-Dimitri van Heesch (29 January 2005)
+Dimitri van Heesch (10 February 2005)
diff --git a/README b/README
index 94f9297..b94584a 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.4.1_20050129
+DOXYGEN Version 1.4.1_20050210
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) (29 January 2005)
+Dimitri van Heesch (dimitri@stack.nl) (10 February 2005)
diff --git a/VERSION b/VERSION
index 1f2f636..f35ff4d 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.4.1-20050129
+1.4.1-20050210
diff --git a/doc/commands.doc b/doc/commands.doc
index 4966df5..2c48ae5 100644
--- a/doc/commands.doc
+++ b/doc/commands.doc
@@ -1430,8 +1430,7 @@ void memcpy(void *dest, const void *src, size_t n);
tag of doxygen's configuration file.
If \<file-name\> itself is not unique for the set of example files specified
- by the
- \ref cfg_example_path "EXAMPLE_PATH" tag, you can include part
+ by the \ref cfg_example_path "EXAMPLE_PATH" tag, you can include part
of the absolute path to disambiguate it.
Using the \\include command is equivalent to inserting the file into
@@ -1446,9 +1445,13 @@ void memcpy(void *dest, const void *src, size_t n);
\ref cmddontinclude "\\dontinclude" command in combination with
the \ref cmdline "\\line", \ref cmdskip "\\skip",
\ref cmdskipline "\\skipline",
- and \\until commands.
+ and \\until commands.
+
+ \note Doxygen's special commands do not work inside blocks of code.
+ It is allowed to nest C-style comments inside a code block though.
- \sa section \ref cmdexample "\\example" and \ref cmddontinclude "\\dontinclude".
+ \sa section \ref cmdexample "\\example", \ref cmddontinclude "\\dontinclude", and
+ section \ref cmdverbatim "\\verbatim".
<hr>
\section cmdincludelineno \\includelineno <file-name>
@@ -1635,7 +1638,7 @@ void memcpy(void *dest, const void *src, size_t n);
classes and members that are documented are automatically replaced by
links to the documentation.
- \sa section \ref cmdendcode "\\endcode", section \ref cmdverbatim "\\verbatim"
+ \sa section \ref cmdendcode "\\endcode", section \ref cmdverbatim "\\verbatim".
<hr>
\section cmdcopydoc \\copydoc <link-object>
@@ -1805,7 +1808,7 @@ class C {};
\addindex \\endverbatim
Ends a block of text that was started with a \\verbatim command.
- \sa section \ref cmdverbatim "\\verbatim".
+ \sa section \ref cmdendcode "\\endcode", section \ref cmdverbatim "\\verbatim".
<hr>
\section cmdendxmlonly \\endxmlonly
@@ -2020,6 +2023,8 @@ class C {};
\warning Make sure you include a \\endverbatim command for each
\\verbatim command or the parser will get confused!
+ \sa section \ref cmdcode "\\code", and section \ref cmdverbinclude "\\verbinclude".
+
<hr>
\section cmdxmlonly \\xmlonly
diff --git a/doc/config.doc b/doc/config.doc
index a8c80ab..99fc475 100644
--- a/doc/config.doc
+++ b/doc/config.doc
@@ -121,6 +121,7 @@ followed by the descriptions of the tags grouped by category.
\refitem cfg_generate_treeview GENERATE_TREEVIEW
\refitem cfg_generate_xml GENERATE_XML
\refitem cfg_graphical_hierarchy GRAPHICAL_HIERARCHY
+\refitem cfg_group_graphs GROUP_GRAPHS
\refitem cfg_have_dot HAVE_DOT
\refitem cfg_hhc_location HHC_LOCATION
\refitem cfg_hide_friend_compounds HIDE_FRIEND_COMPOUNDS
@@ -202,6 +203,7 @@ followed by the descriptions of the tags grouped by category.
\refitem cfg_template_relations TEMPLATE_RELATIONS
\refitem cfg_toc_expand TOC_EXPAND
\refitem cfg_treeview_width TREEVIEW_WIDTH
+\refitem cfg_uml_look UML_LOOK
\refitem cfg_use_windows_encoding USE_WINDOWS_ENCODING
\refitem cfg_verbatim_headers VERBATIM_HEADERS
\refitem cfg_warn_format WARN_FORMAT
@@ -1586,6 +1588,19 @@ TAGFILES = file1=loc1 "file2 = loc2" ... </pre>
indirect implementation dependencies (inheritance, containment, and
class references variables) of the class with other documented classes.
+\anchor cfg_group_graphs
+<dt>\c GROUP_GRAPHS <dd>
+ \addindex GROUP_GRAPHS
+ If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+ will generate a graph for groups, showing the direct groups dependencies.
+
+\anchor cfg_uml_look
+<dt>\c UML_LOOK <dd>
+ \addindex UML_LOOK
+ If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+ collaboration diagrams in a style similar to the OMG's Unified Modeling
+ Language.
+
\anchor cfg_template_relations
<dt>\c TEMPLATE_RELATIONS <dd>
\addindex TEMPLATE_RELATIONS
diff --git a/doc/language.doc b/doc/language.doc
index 0b5926a..8a0058e 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.1), 30 languages
+Currently (version 1.4.1-20050129), 30 languages
are supported (sorted alphabetically):
Afrikaans, Brazilian Portuguese, Catalan, Chinese, Chinese
Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French,
@@ -240,7 +240,7 @@ when the translator was updated.
<td>Ukrainian</td>
<td>Olexij Tkatchenko</td>
<td>olexij.tkatchenko at parcs dot de</td>
- <td>1.2.11</td>
+ <td>up-to-date</td>
</tr>
<!-- table content end -->
</table>
@@ -329,7 +329,7 @@ when the translator was updated.
\hline
Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} & up-to-date \\
\hline
- Ukrainian & Olexij Tkatchenko & {\tt\tiny olexij.tkatchenko@parcs.de} & 1.2.11 \\
+ Ukrainian & Olexij Tkatchenko & {\tt\tiny olexij.tkatchenko@parcs.de} & up-to-date \\
\hline
\end{tabular}
\endlatexonly
diff --git a/doc/translator_report.txt b/doc/translator_report.txt
index c5c1ed5..ea0bb38 100644
--- a/doc/translator_report.txt
+++ b/doc/translator_report.txt
@@ -1,4 +1,4 @@
-(1.4.1)
+(1.4.1-20050129)
Doxygen supports the following 30 languages (sorted alphabetically):
@@ -8,30 +8,31 @@ German, Greek, Hungarian, Italian, Japanese (+En), Korean (+En),
Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian,
Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-Of them, 15 translators are up-to-date, 15 translators are based on
+Of them, 16 translators are up-to-date, 14 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 201 of the required methods. Anyway, there
+and they implement all 191 of the required methods. Anyway, there
still may be some details listed even for them:
- TranslatorBrazilian
- TranslatorChinese
- TranslatorCroatian
- TranslatorCzech
- TranslatorDutch
- TranslatorEnglish
- TranslatorFrench
- TranslatorGerman
- TranslatorHungarian
- TranslatorItalian
+ TranslatorBrazilian -- Remove the obsolete methods (never used).
+ TranslatorChinese -- Remove the obsolete methods (never used).
+ TranslatorCroatian -- Remove the obsolete methods (never used).
+ TranslatorCzech -- Remove the obsolete methods (never used).
+ TranslatorDutch -- Remove the obsolete methods (never used).
+ TranslatorEnglish -- Remove the obsolete methods (never used).
+ TranslatorFrench -- Remove the obsolete methods (never used).
+ TranslatorGerman -- Remove the obsolete methods (never used).
+ TranslatorHungarian -- Remove the obsolete methods (never used).
+ TranslatorItalian -- Remove the obsolete methods (never used).
TranslatorKorean -- Change the base class to Translator.
- TranslatorPolish
- TranslatorRussian
- TranslatorSerbian
- TranslatorSwedish
+ TranslatorPolish -- Remove the obsolete methods (never used).
+ TranslatorRussian -- Remove the obsolete methods (never used).
+ TranslatorSerbian -- Remove the obsolete methods (never used).
+ TranslatorSwedish -- Remove the obsolete methods (never used).
+ TranslatorUkrainian -- Remove the obsolete methods (never used).
----------------------------------------------------------------------
The following translator classes need some maintenance (the most
@@ -51,9 +52,8 @@ must be implemented to become up-to-date:
TranslatorCatalan 1.2.17 21 methods to implement
TranslatorSlovene 1.2.16 22 methods to implement
TranslatorRomanian 1.2.16 22 methods to implement
- TranslatorUkrainian 1.2.11 25 methods to implement
TranslatorGreek 1.2.11 25 methods to implement
- TranslatorFinnish obsolete 98 methods to implement
+ TranslatorFinnish obsolete 94 methods to implement
----------------------------------------------------------------------
The following translator classes derive directly from the
@@ -65,25 +65,6 @@ version of the translator for the language:
TranslatorKoreanEn implements 5 methods
======================================================================
-WARNING: The following translator methods are declared in the
-Translator class but their identifiers do not appear in source files.
-The situation should be checked. The .cpp files and .h files excluding
-the '*translator*' files in doxygen/src directory were simply searched
-for occurence of the method identifiers:
-
- QCString trBugsAndLimitations()
- QCString trEnumerationValueDocumentation()
- QCString trField(bool, bool)
- QCString trHeaderFiles()
- QCString trHeaderFilesDescription()
- QCString trInterfaces()
- QCString trNoDescriptionAvailable()
- QCString trPackageDocumentation()
- QCString trReimplementedForInternalReasons()
- QCString trSources()
-
-
-======================================================================
Details for translators (classes sorted alphabetically):
@@ -91,7 +72,7 @@ Details for translators (classes sorted alphabetically):
TranslatorAfrikaans (TranslatorAdapter_1_3_9) 6 methods to implement
-------------------
- Implements 195 of the required methods.
+ Implements 185 of the required methods.
Missing methods (should be implemented):
@@ -102,11 +83,43 @@ TranslatorAfrikaans (TranslatorAdapter_1_3_9) 6 methods to implement
virtual QCString trDirReference(const char * dirName)
virtual QCString trDir(bool first_capital, bool singular)
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorBrazilian (Translator)
+-------------------
+
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
TranslatorCatalan (TranslatorAdapter_1_2_17) 21 methods to implement
-----------------
- Implements 180 of the required methods.
+ Implements 170 of the required methods.
Missing methods (should be implemented):
@@ -117,10 +130,10 @@ TranslatorCatalan (TranslatorAdapter_1_2_17) 21 methods to implement
virtual QCString trDirDocumentation()
virtual QCString trSearchResultsTitle()
virtual QCString trDirectories()
+ virtual QCString trDeprecatedList()
virtual QCString trDirDescription()
virtual QCString trStaticPackageAttribs()
virtual QCString trCallGraph()
- virtual QCString trDeprecatedList()
virtual QCString trPackageTypes()
virtual QCString trSearchResults(int numDocuments)
virtual QCString trPackageAttribs()
@@ -132,11 +145,43 @@ TranslatorCatalan (TranslatorAdapter_1_2_17) 21 methods to implement
virtual QCString trSearchForIndex()
virtual QCString trAll()
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorChinese (Translator)
+-----------------
+
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool/*first_capital*/, bool/*singular*/)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
TranslatorChinesetraditional (TranslatorAdapter_1_3_8) 7 methods to implement
----------------------------
- Implements 194 of the required methods.
+ Implements 184 of the required methods.
Missing methods (should be implemented):
@@ -148,11 +193,62 @@ TranslatorChinesetraditional (TranslatorAdapter_1_3_8) 7 methods to implement
virtual QCString trDirReference(const char * dirName)
virtual QCString trDir(bool first_capital, bool singular)
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool/*first_capital*/, bool/*singular*/)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorCroatian (Translator)
+------------------
+
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ QCString trSources()
+ QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ QCString trHeaderFiles()
+ QCString trBugsAndLimitations()
+ QCString trEnumerationValueDocumentation()
+ QCString trNoDescriptionAvailable()
+
+
+TranslatorCzech (Translator)
+---------------
+
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
TranslatorDanish (TranslatorAdapter_1_3_9) 6 methods to implement
----------------
- Implements 195 of the required methods.
+ Implements 185 of the required methods.
Missing methods (should be implemented):
@@ -163,11 +259,62 @@ TranslatorDanish (TranslatorAdapter_1_3_9) 6 methods to implement
virtual QCString trDirReference(const char * dirName)
virtual QCString trDir(bool first_capital, bool singular)
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorDutch (Translator)
+---------------
+
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ QCString trPackageDocumentation()
+ QCString trSources()
+ QCString trReimplementedForInternalReasons()
+ QCString trInterfaces()
+ QCString trHeaderFiles()
+ QCString trBugsAndLimitations()
+ QCString trEnumerationValueDocumentation()
+ QCString trNoDescriptionAvailable()
-TranslatorFinnish (TranslatorEnglish) 98 methods to implement
+
+TranslatorEnglish (Translator)
-----------------
- Implements 103 of the required methods.
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorFinnish (TranslatorEnglish) 94 methods to implement
+-----------------
+
+ Implements 97 of the required methods.
Missing methods (should be implemented):
@@ -183,7 +330,6 @@ TranslatorFinnish (TranslatorEnglish) 98 methods to implement
virtual QCString trFile(bool first_capital, bool singular)
virtual QCString trPackages()
virtual QCString trInclByDepGraph()
- virtual QCString trField(bool first_capital, bool singular)
virtual QCString trRTFansicp()
virtual QCString trImplementedFromList(int numEntries)
virtual QCString trCollaborationDiagram(const char * clName)
@@ -198,9 +344,8 @@ TranslatorFinnish (TranslatorEnglish) 98 methods to implement
virtual QCString trDirectories()
virtual QCString trTest()
virtual QCString trInvariant()
- virtual QCString trPackageDocumentation()
+ virtual QCString trDeprecatedList()
virtual QCString trGraphicalHierarchy()
- virtual QCString trSources()
virtual QCString trPostcondition()
virtual QCString trGotoGraphicalHierarchy()
virtual QCString trPageAbbreviation()
@@ -211,7 +356,6 @@ TranslatorFinnish (TranslatorEnglish) 98 methods to implement
virtual QCString trStaticPublicAttribs()
virtual QCString trCode()
virtual QCString trTodo()
- virtual QCString trDeprecatedList()
virtual QCString trRTFCharSet()
virtual QCString trInitialValue()
virtual QCString trAlphabeticalList()
@@ -231,8 +375,7 @@ TranslatorFinnish (TranslatorEnglish) 98 methods to implement
virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType, bool single)
virtual QCString trNamespaces()
virtual QCString trPrivateAttribs()
- virtual QCString latexLanguageSupportCommand()
- virtual QCString trInterfaces()
+ virtual QCString idLanguageCharset()
virtual QCString trDefinedInSourceFile()
virtual QCString trConstructorDocumentation()
virtual QCString trLegend()
@@ -241,10 +384,10 @@ TranslatorFinnish (TranslatorEnglish) 98 methods to implement
virtual QCString trClasses()
virtual QCString trProtectedAttribs()
virtual QCString trLegendTitle()
- virtual QCString idLanguageCharset()
virtual QCString trEvents()
virtual QCString trGlobal(bool first_capital, bool singular)
virtual QCString trDCOPMethods()
+ virtual QCString latexLanguageSupportCommand()
virtual QCString trBugList()
virtual QCString trRTFGeneralIndex()
virtual QCString trNamespace(bool first_capital, bool singular)
@@ -272,15 +415,59 @@ TranslatorFinnish (TranslatorEnglish) 98 methods to implement
Obsolete methods (should be removed, never used):
+ QCString trHeaderFilesDescription()
+ QCString trReimplementedForInternalReasons()
QCString trFiles()
virtual QCString updateNeededMessage()
+ QCString trHeaderFiles()
QCString trAuthors()
+ QCString trBugsAndLimitations()
+ QCString trEnumerationValueDocumentation()
+ QCString trNoDescriptionAvailable()
+
+
+TranslatorFrench (Translator)
+----------------
+
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorGerman (Translator)
+----------------
+
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
TranslatorGreek (TranslatorAdapter_1_2_11) 25 methods to implement
---------------
- Implements 176 of the required methods.
+ Implements 166 of the required methods.
Missing methods (should be implemented):
@@ -292,10 +479,10 @@ TranslatorGreek (TranslatorAdapter_1_2_11) 25 methods to implement
virtual QCString trDirDocumentation()
virtual QCString trSearchResultsTitle()
virtual QCString trDirectories()
+ virtual QCString trDeprecatedList()
virtual QCString trDirDescription()
virtual QCString trStaticPackageAttribs()
virtual QCString trCallGraph()
- virtual QCString trDeprecatedList()
virtual QCString trPackageTypes()
virtual QCString trImplementedInList(int numEntries)
virtual QCString trSearchResults(int numDocuments)
@@ -310,11 +497,62 @@ TranslatorGreek (TranslatorAdapter_1_2_11) 25 methods to implement
virtual QCString trAll()
virtual QCString trRTFTableOfContents()
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorHungarian (Translator)
+-------------------
+
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool/*singular*/)
+ virtual QCString trPackageDocumentation()
+ QCString trSources()
+ QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ QCString trHeaderFiles()
+ QCString trBugsAndLimitations()
+ QCString trEnumerationValueDocumentation()
+ QCString trNoDescriptionAvailable()
+
+
+TranslatorItalian (Translator)
+-----------------
+
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ QCString trSources()
+ QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ QCString trHeaderFiles()
+ QCString trBugsAndLimitations()
+ QCString trEnumerationValueDocumentation()
+ QCString trNoDescriptionAvailable()
+
TranslatorJapanese (TranslatorAdapter_1_3_9) 6 methods to implement
------------------
- Implements 195 of the required methods.
+ Implements 185 of the required methods.
Missing methods (should be implemented):
@@ -325,8 +563,21 @@ TranslatorJapanese (TranslatorAdapter_1_3_9) 6 methods to implement
virtual QCString trDirReference(const char * dirName)
virtual QCString trDir(bool first_capital, bool singular)
+ Obsolete methods (should be removed, never used):
-TranslatorJapaneseEn (TranslatorEnglish) 196 methods to implement
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorJapaneseEn (TranslatorEnglish) 186 methods to implement
--------------------
Implements 5 of the required methods.
@@ -336,17 +587,30 @@ TranslatorJapaneseEn (TranslatorEnglish) 196 methods to implement
virtual QCString trRTFansicp()
virtual QCString idLanguage()
virtual QCString trRTFCharSet()
- virtual QCString latexLanguageSupportCommand()
virtual QCString idLanguageCharset()
+ virtual QCString latexLanguageSupportCommand()
TranslatorKorean (TranslatorAdapter_1_3_9)
----------------
- Implements 201 of the required methods.
+ Implements 191 of the required methods.
+ Obsolete methods (should be removed, never used):
-TranslatorKoreanEn (TranslatorEnglish) 196 methods to implement
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorKoreanEn (TranslatorEnglish) 186 methods to implement
------------------
Implements 5 of the required methods.
@@ -356,14 +620,14 @@ TranslatorKoreanEn (TranslatorEnglish) 196 methods to implement
virtual QCString trRTFansicp()
virtual QCString idLanguage()
virtual QCString trRTFCharSet()
- virtual QCString latexLanguageSupportCommand()
virtual QCString idLanguageCharset()
+ virtual QCString latexLanguageSupportCommand()
TranslatorLithuanian (TranslatorAdapter_1_3_8) 7 methods to implement
--------------------
- Implements 194 of the required methods.
+ Implements 184 of the required methods.
Missing methods (should be implemented):
@@ -375,11 +639,24 @@ TranslatorLithuanian (TranslatorAdapter_1_3_8) 7 methods to implement
virtual QCString trDirReference(const char * dirName)
virtual QCString trDir(bool first_capital, bool singular)
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
TranslatorNorwegian (TranslatorAdapter_1_3_9) 6 methods to implement
-------------------
- Implements 195 of the required methods.
+ Implements 185 of the required methods.
Missing methods (should be implemented):
@@ -390,11 +667,43 @@ TranslatorNorwegian (TranslatorAdapter_1_3_9) 6 methods to implement
virtual QCString trDirReference(const char * dirName)
virtual QCString trDir(bool first_capital, bool singular)
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorPolish (Translator)
+----------------
+
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ QCString trSources()
+ QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ QCString trHeaderFiles()
+ QCString trBugsAndLimitations()
+ QCString trEnumerationValueDocumentation()
+ QCString trNoDescriptionAvailable()
+
TranslatorPortuguese (TranslatorAdapter_1_3_3) 11 methods to implement
--------------------
- Implements 190 of the required methods.
+ Implements 180 of the required methods.
Missing methods (should be implemented):
@@ -410,11 +719,24 @@ TranslatorPortuguese (TranslatorAdapter_1_3_3) 11 methods to implement
virtual QCString trDir(bool first_capital, bool singular)
virtual QCString trSearchForIndex()
+ Obsolete methods (should be removed, never used):
+
+ QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ QCString trHeaderFiles()
+ QCString trBugsAndLimitations()
+ QCString trEnumerationValueDocumentation()
+ QCString trNoDescriptionAvailable()
+
TranslatorRomanian (TranslatorAdapter_1_2_16) 22 methods to implement
------------------
- Implements 179 of the required methods.
+ Implements 169 of the required methods.
Missing methods (should be implemented):
@@ -425,10 +747,10 @@ TranslatorRomanian (TranslatorAdapter_1_2_16) 22 methods to implement
virtual QCString trDirDocumentation()
virtual QCString trSearchResultsTitle()
virtual QCString trDirectories()
+ virtual QCString trDeprecatedList()
virtual QCString trDirDescription()
virtual QCString trStaticPackageAttribs()
virtual QCString trCallGraph()
- virtual QCString trDeprecatedList()
virtual QCString trPackageTypes()
virtual QCString trSearchResults(int numDocuments)
virtual QCString trPackageAttribs()
@@ -441,11 +763,62 @@ TranslatorRomanian (TranslatorAdapter_1_2_16) 22 methods to implement
virtual QCString trAll()
virtual QCString trRTFTableOfContents()
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorRussian (Translator)
+-----------------
+
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorSerbian (Translator)
+-----------------
+
+ Implements 191 of the required methods.
+
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
TranslatorSlovak (TranslatorAdapter_1_2_18) 20 methods to implement
----------------
- Implements 181 of the required methods.
+ Implements 171 of the required methods.
Missing methods (should be implemented):
@@ -470,11 +843,24 @@ TranslatorSlovak (TranslatorAdapter_1_2_18) 20 methods to implement
virtual QCString trSearchForIndex()
virtual QCString trAll()
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
TranslatorSlovene (TranslatorAdapter_1_2_16) 22 methods to implement
-----------------
- Implements 179 of the required methods.
+ Implements 169 of the required methods.
Missing methods (should be implemented):
@@ -485,10 +871,10 @@ TranslatorSlovene (TranslatorAdapter_1_2_16) 22 methods to implement
virtual QCString trDirDocumentation()
virtual QCString trSearchResultsTitle()
virtual QCString trDirectories()
+ virtual QCString trDeprecatedList()
virtual QCString trDirDescription()
virtual QCString trStaticPackageAttribs()
virtual QCString trCallGraph()
- virtual QCString trDeprecatedList()
virtual QCString trPackageTypes()
virtual QCString trSearchResults(int numDocuments)
virtual QCString trPackageAttribs()
@@ -501,11 +887,24 @@ TranslatorSlovene (TranslatorAdapter_1_2_16) 22 methods to implement
virtual QCString trAll()
virtual QCString trRTFTableOfContents()
+ Obsolete methods (should be removed, never used):
+
+ QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ QCString trSources()
+ QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ QCString trHeaderFiles()
+ QCString trBugsAndLimitations()
+ QCString trEnumerationValueDocumentation()
+ QCString trNoDescriptionAvailable()
+
TranslatorSpanish (TranslatorAdapter_1_3_8) 7 methods to implement
-----------------
- Implements 194 of the required methods.
+ Implements 184 of the required methods.
Missing methods (should be implemented):
@@ -517,36 +916,53 @@ TranslatorSpanish (TranslatorAdapter_1_3_8) 7 methods to implement
virtual QCString trDirReference(const char * dirName)
virtual QCString trDir(bool first_capital, bool singular)
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorSwedish (Translator)
+-----------------
+
+ Implements 191 of the required methods.
-TranslatorUkrainian (TranslatorAdapter_1_2_11) 25 methods to implement
+ Obsolete methods (should be removed, never used):
+
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool/*singular*/)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable()
+
+
+TranslatorUkrainian (Translator)
-------------------
- Implements 176 of the required methods.
+ Implements 191 of the required methods.
- Missing methods (should be implemented):
+ Obsolete methods (should be removed, never used):
- virtual QCString trEventDocumentation()
- virtual QCString trDirIndex()
- virtual QCString trImplementedFromList(int numEntries)
- virtual QCString trPackageMembers()
- virtual QCString trStaticPackageMembers()
- virtual QCString trDirDocumentation()
- virtual QCString trSearchResultsTitle()
- virtual QCString trDirectories()
- virtual QCString trDirDescription()
- virtual QCString trStaticPackageAttribs()
- virtual QCString trCallGraph()
- virtual QCString trDeprecatedList()
- virtual QCString trPackageTypes()
- virtual QCString trImplementedInList(int numEntries)
- virtual QCString trSearchResults(int numDocuments)
- virtual QCString trPackageAttribs()
- virtual QCString trSearchMatches()
- virtual QCString trEvents()
- virtual QCString trReferences()
- virtual QCString trSourceFile(QCString & filename)
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
- virtual QCString trSearchForIndex()
- virtual QCString trAll()
- virtual QCString trRTFTableOfContents() \ No newline at end of file
+ virtual QCString trHeaderFilesDescription()
+ virtual QCString trField(bool first_capital, bool singular)
+ virtual QCString trPackageDocumentation()
+ virtual QCString trSources()
+ virtual QCString trReimplementedForInternalReasons()
+ virtual QCString trInterfaces()
+ virtual QCString trHeaderFiles()
+ virtual QCString trBugsAndLimitations()
+ virtual QCString trEnumerationValueDocumentation()
+ virtual QCString trNoDescriptionAvailable() \ No newline at end of file
diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec
index 847c906..9b58e02 100644
--- a/packages/rpm/doxygen.spec
+++ b/packages/rpm/doxygen.spec
@@ -1,6 +1,6 @@
Summary: A documentation system for C/C++.
Name: doxygen
-Version: 1.4.1_20050129
+Version: 1.4.1_20050210
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
diff --git a/src/Makefile.in b/src/Makefile.in
index cdbf22e..45c958c 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -46,7 +46,7 @@ clean: Makefile.libdoxygen Makefile.libdoxycfg Makefile.doxygen Makefile.doxytag
distclean: clean
-$(RM) scanner.cpp code.cpp config.cpp pre.cpp ce_lex.cpp \
- ce_parse.cpp ce_parse.h doxytag.cpp tag.cpp \
+ ce_parse.cpp ce_parse.h doxytag.cpp tag.cpp commentscan.cpp \
declinfo.cpp defargs.cpp commentcnv.cpp doctokenizer.cpp
FORCE:
diff --git a/src/code.l b/src/code.l
index cdcd53a..8909de0 100644
--- a/src/code.l
+++ b/src/code.l
@@ -290,23 +290,32 @@ static VariableContext g_theVarContext;
class CallContext
{
public:
+ struct Ctx
+ {
+ Ctx() : name(g_name), type(g_type), cd(0) {}
+ QCString name;
+ QCString type;
+ ClassDef *cd;
+ };
+
CallContext()
{
- m_classList.append(0);
+ m_classList.append(new Ctx);
+ m_classList.setAutoDelete(TRUE);
}
virtual ~CallContext() {}
void setClass(ClassDef *cd)
{
- if (cd)
+ Ctx *ctx = m_classList.getLast();
+ if (ctx)
{
DBG_CTX((stderr,"** Set call context %s (%p)\n",cd==0 ? "<null>" : cd->name().data(),cd));
- m_classList.removeLast();
- m_classList.append(cd);
+ ctx->cd=cd;
}
}
void pushScope()
{
- m_classList.append(0);
+ m_classList.append(new Ctx);
DBG_CTX((stderr,"** Push call context %d\n",m_classList.count()));
}
void popScope()
@@ -314,6 +323,12 @@ class CallContext
if (m_classList.count()>1)
{
DBG_CTX((stderr,"** Pop call context %d\n",m_classList.count()));
+ Ctx *ctx = m_classList.getLast();
+ if (ctx)
+ {
+ g_name = ctx->name;
+ g_type = ctx->type;
+ }
m_classList.removeLast();
}
else
@@ -324,16 +339,20 @@ class CallContext
void clear()
{
DBG_CTX((stderr,"** Clear call context\n"));
- m_classList.clear();
- m_classList.append(0);
+ Ctx *ctx = m_classList.getLast();
+ if (ctx)
+ {
+ ctx->cd=0;
+ }
}
ClassDef *getClass() const
{
- return m_classList.getLast();
+ Ctx *ctx = m_classList.getLast();
+ if (ctx) return ctx->cd; else return 0;
}
private:
- QList<ClassDef> m_classList;
+ QList<Ctx> m_classList;
};
static CallContext g_theCallContext;
@@ -761,7 +780,7 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName,
{
cd=getResolvedClass(d,g_sourceFileDef,className.left(i),&md);
}
- //printf("is found as a type %s\n",cd?cd->name().data():"<null>");
+ //fprintf(stderr,"is found as a type %s\n",cd?cd->name().data():"<null>");
}
else
{
@@ -928,7 +947,7 @@ static bool generateClassMemberLink(BaseCodeDocInterface &ol,ClassDef *mcd,const
if (mcd)
{
MemberDef *xmd = mcd->getMemberByName(memName);
- //printf("generateClassMemberLink(class=%s,member=%s)=%p\n",mcd->name().data(),memName,xmd);
+ //fprintf(stderr,"generateClassMemberLink(class=%s,member=%s)=%p\n",mcd->name().data(),memName,xmd);
if (xmd)
{
// extract class definition of the return type in order to resolve
@@ -967,7 +986,7 @@ static bool generateClassMemberLink(BaseCodeDocInterface &ol,ClassDef *mcd,const
// add usage reference
if (g_currentDefinition && g_currentMemberDef &&
- xmd!=g_currentMemberDef && g_insideBody)
+ /*xmd!=g_currentMemberDef &&*/ g_insideBody)
{
addDocCrossReference(g_currentMemberDef,xmd);
}
@@ -2415,6 +2434,7 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}
if (*yytext==';') g_searchingForBody=FALSE;
if (!g_inClass && !g_type.isEmpty())
{
+ //fprintf(stderr,"add variable g_type=%s g_name=%s)\n",g_type.data(),g_name.data());
g_theVarContext.addVariable(g_type,g_name);
}
g_parmType.resize(0);g_parmName.resize(0);
diff --git a/src/commentscan.l b/src/commentscan.l
index e31eda3..f489d32 100644
--- a/src/commentscan.l
+++ b/src/commentscan.l
@@ -412,6 +412,7 @@ static void addXRefItem(const char *listName,const char *itemTitle,const char *l
sectionTitle,SectionInfo::Anchor);
Doxygen::sectionDict.insert(anchorLabel,si);
docEntry->anchors->append(si);
+ outputXRef.resize(0);
}
//current->brief = slString; // restore orginial brief desc.
}
@@ -643,7 +644,7 @@ SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID})
* grouping commands (e.g. @{ and @})
*/
-<Comment>{CMD}{CMD}[a-z_A-Z]*{B}* { // escaped command
+<Comment>{CMD}{CMD}[a-z_A-Z]+{B}* { // escaped command
addOutput(yytext);
}
<Comment>("\\"[a-z_A-Z]+)+"\\" { // directory (or chain of commands!)
@@ -1116,8 +1117,8 @@ SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID})
<SectionLabel>{LABELID} { // first argyment
sectionLabel=yytext;
+ addOutput(yytext);
sectionTitle.resize(0);
- current->doc+=yytext;
BEGIN(SectionTitle);
}
<SectionLabel>{DOCNL} { // missing argument
@@ -1151,15 +1152,19 @@ SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID})
}
<SectionTitle>[^\n@\\]* { // any character without special meaning
sectionTitle+=yytext;
- current->doc+=yytext;
+ addOutput(yytext);
+ }
+<SectionTitle>("\\\\"|"@@"){ID} { // unescape escaped command
+ sectionTitle+=&yytext[1];
+ addOutput(yytext);
}
-<SectionTitle>("\\\\"|"@@") { // unescape escaped command
- sectionTitle+=*yytext;
- current->doc+=*yytext;
+<SectionTitle>{CMD}[$@\\&~<>#%] { // unescape escaped character
+ sectionTitle+=yytext[1];
+ addOutput(yytext);
}
<SectionTitle>. { // anything else
sectionTitle+=yytext;
- current->doc+=yytext;
+ addOutput(*yytext);
}
/* ----- handle arguments of the anchor command ------- */
@@ -1168,7 +1173,7 @@ SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID})
SectionInfo *si = new SectionInfo(yyFileName,yytext,0,SectionInfo::Anchor);
Doxygen::sectionDict.insert(yytext,si);
current->anchors->append(si);
- addOutput(yytext);
+ addOutput(yytext);
BEGIN( Comment );
}
<AnchorLabel>{DOCNL} { // missing argument
@@ -1646,8 +1651,9 @@ static void handleSection(const QCString &s)
BEGIN(SectionLabel);
}
-static void handleAnchor(const QCString &)
+static void handleAnchor(const QCString &s)
{
+ addOutput("@"+s+" ");
BEGIN(AnchorLabel);
}
@@ -1825,8 +1831,8 @@ bool parseCommentBlock(/* in,out */ Entry *curEntry,
/* in,out */ Protection &prot
)
{
- //fprintf(stderr,"isBrief=%d isJavaDocStyle=%d\n",
- // isBrief,isJavaDocStyle);
+ //fprintf(stderr,"parseCommentBlock() isBrief=%d isJavaDocStyle=%d lineNr=%d\n",
+ // isBrief,isJavaDocStyle,lineNr);
initParser();
guards.setAutoDelete(TRUE);
guards.clear();
@@ -1840,6 +1846,7 @@ bool parseCommentBlock(/* in,out */ Entry *curEntry,
//inBody = foundInBody;
protection = prot;
needNewEntry = FALSE;
+ outputXRef.resize(0);
setOutput( isBrief || isJavaDocStyle ? OutputBrief : OutputDoc );
briefEndsAtDot = isJavaDocStyle;
commentScanYYrestart( commentScanYYin );
diff --git a/src/docparser.cpp b/src/docparser.cpp
index 38ed3ce..9a60a6b 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -1332,7 +1332,7 @@ static void readTextFileByName(const QString &file,QString &text)
FileDef *fd;
if ((fd=findFileDef(Doxygen::exampleNameDict,file,ambig)))
{
- text = fileToString(fd->absFilePath(),Config_getBool("FILTER_SOURCE_FILES"));
+ text = fileToString(fd->absFilePath(),FALSE);
}
else if (ambig)
{
@@ -5126,6 +5126,7 @@ DocNode *validatingParseDoc(const char *fileName,int startLine,
g_paramsFound.clear();
g_sectionDict = 0; //sections;
+ //printf("Starting comment block at %s:%d\n",g_fileName.data(),startLine);
doctokenizerYYlineno=startLine;
doctokenizerYYinit(input,g_fileName);
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index e77f1b2..b92ca77 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -252,6 +252,18 @@ static void handleHtmlTag()
g_token->endTag = startNamePos==2;
}
+static QString stripEmptyLines(const char *s)
+{
+ int result=0,p=0;
+ for (;;)
+ {
+ int c;
+ while ((c=s[p]) && (c==' ' || c=='\t' || c=='\r')) p++;
+ if (s[p]=='\n') result=++p; else break;
+ }
+ return &s[result];
+}
+
//--------------------------------------------------------------------------
#undef YY_INPUT
@@ -565,6 +577,7 @@ REFWORD ("#"|"::")?({ID}("."|"#"|"::"|"-"))*{ID}{FUNCARG}?
g_token->verb+=yytext;
}
<St_Verbatim>{CMD}"endverbatim" {
+ g_token->verb=stripEmptyLines(g_token->verb);
return RetVal_OK;
}
<St_Verbatim>[^\\@\n]+ |
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 44c7796..063887a 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -8775,7 +8775,7 @@ void generateOutput()
}
Doxygen::tagFile.setDevice(tag);
Doxygen::tagFile.setEncoding(QTextStream::Latin1);
- Doxygen::tagFile << "<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?>" << endl;
+ Doxygen::tagFile << "<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>" << endl;
Doxygen::tagFile << "<tagfile>" << endl;
}
diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp
index fab4850..8ced35a 100644
--- a/src/namespacedef.cpp
+++ b/src/namespacedef.cpp
@@ -516,7 +516,17 @@ void NamespaceDef::combineUsingRelations()
void NamespaceSDict::writeDeclaration(OutputList &ol,bool localName)
{
- if (count()==0) return;
+ if (count()==0) return; // no namespaces in the list
+
+ SDict<NamespaceDef>::Iterator ni(*this);
+ NamespaceDef *nd;
+ bool found=FALSE;
+ for (ni.toFirst();(nd=ni.current()) && !found;++ni)
+ {
+ if (nd->isLinkable()) found=TRUE;
+ }
+ if (!found) return; // no linkable namespaces in the list
+
// write list of namespaces
ol.startMemberHeader();
bool javaOpt = Config_getBool("OPTIMIZE_OUTPUT_JAVA");
@@ -530,41 +540,42 @@ void NamespaceSDict::writeDeclaration(OutputList &ol,bool localName)
}
ol.endMemberHeader();
ol.startMemberList();
- SDict<NamespaceDef>::Iterator ni(*this);
- NamespaceDef *nd;
for (ni.toFirst();(nd=ni.current());++ni)
{
- ol.startMemberItem(0);
- if (javaOpt)
- {
- ol.docify("package ");
- }
- else
- {
- ol.docify("namespace ");
- }
- ol.insertMemberAlign();
- QCString name;
- if (localName)
- {
- name = nd->localName();
- }
- else
- {
- name = nd->displayName();
- }
- ol.writeObjectLink(nd->getReference(),nd->getOutputFileBase(),0,name);
- if (!Config_getString("GENERATE_TAGFILE").isEmpty())
+ if (nd->isLinkable())
{
- Doxygen::tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl;
- }
- ol.endMemberItem();
- if (!nd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
- {
- ol.startMemberDescription();
- ol.parseDoc(nd->briefFile(),nd->briefLine(),nd,0,nd->briefDescription(),FALSE,FALSE);
- ol.endMemberDescription();
- ol.newParagraph();
+ ol.startMemberItem(0);
+ if (javaOpt)
+ {
+ ol.docify("package ");
+ }
+ else
+ {
+ ol.docify("namespace ");
+ }
+ ol.insertMemberAlign();
+ QCString name;
+ if (localName)
+ {
+ name = nd->localName();
+ }
+ else
+ {
+ name = nd->displayName();
+ }
+ ol.writeObjectLink(nd->getReference(),nd->getOutputFileBase(),0,name);
+ if (!Config_getString("GENERATE_TAGFILE").isEmpty())
+ {
+ Doxygen::tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl;
+ }
+ ol.endMemberItem();
+ if (!nd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
+ {
+ ol.startMemberDescription();
+ ol.parseDoc(nd->briefFile(),nd->briefLine(),nd,0,nd->briefDescription(),FALSE,FALSE);
+ ol.endMemberDescription();
+ ol.newParagraph();
+ }
}
}
ol.endMemberList();
diff --git a/src/scanner.l b/src/scanner.l
index 0c04c87..4e4b720 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -183,6 +183,7 @@ static QCString docBlock;
static QCString docBlockName;
static bool docBlockInBody;
static bool docBlockJavaStyle;
+static char docBlockTerm;
//-----------------------------------------------------------------------------
@@ -336,51 +337,8 @@ static void addMemberGroupDocs()
//-----------------------------------------------------------------
-static void handleCommentBlock(const QCString &doc,bool brief)
-{
- if (brief)
- {
- current->briefFile = yyFileName;
- current->briefLine = yyLineNr;
- }
- else
- {
- current->docFile = yyFileName;
- current->docLine = yyLineNr;
- }
- if (docBlockInBody)
- {
- if (previous==0)
- {
- ASSERT(previous!=0); // shouldn't happen
- return;
- }
- if (!previous->doc.isEmpty())
- { // start a new paragraph for the next piece of text found in the body
- previous->doc=previous->doc.stripWhiteSpace()+"\n\n";
- }
- }
- if (parseCommentBlock(
- docBlockInBody ? previous : current,
- doc, // text
- yyFileName, // file
- yyLineNr, // line
- docBlockInBody ? FALSE : brief,
- docBlockInBody ? FALSE : docBlockJavaStyle,
- protection)
- ) // need to start a new entry
- {
- if (current->section==Entry::MEMBERGRP_SEC)
- {
- addMemberGroupDocs();
- }
- current_root->addSubEntry(current);
- previous = current;
- current = new Entry ;
- initEntry();
- }
-}
-
+static void startCommentBlock(bool);
+static void handleCommentBlock(const QCString &doc,bool brief);
//-----------------------------------------------------------------
static void addXRefItem(bool inBody,const char *listName,const char *itemTitle,const char *listTitle)
@@ -2034,7 +1992,26 @@ IDLATTR ("["[^\]]*"]"){BN}*
<FindMembers,MemberSpec,Function,NextSemi,BitFields,ReadInitializer,OldStyleArgs>";"{BN}*("/**"|"//!"|"/*!"|"///")"<" {
lineCount();
if (current->bodyLine==-1)
+ {
current->bodyLine=yyLineNr;
+ }
+#ifdef COMMENTSCAN
+ docBlockContext = YY_START;
+ docBlockInBody = FALSE;
+ docBlockJavaStyle = yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF");
+ docBlock.resize(0);
+ docBlockTerm = ';';
+ if (yytext[yyleng-3]=='/')
+ {
+ startCommentBlock(TRUE);
+ BEGIN( DocLine );
+ }
+ else
+ {
+ startCommentBlock(FALSE);
+ BEGIN( DocBlock );
+ }
+#else
lastAfterDocContext = YY_START;
afterDocTerminator = ';';
if (yytext[yyleng-3]=='/')
@@ -2060,9 +2037,27 @@ IDLATTR ("["[^\]]*"]"){BN}*
current->docFile = yyFileName;
BEGIN(AfterDoc);
}
+#endif
}
<MemberSpec,FindFields,FindMembers,NextSemi,BitFields,ReadInitializer,OldStyleArgs>","{BN}*("/**"|"//!"|"/*!"|"///")"<" {
lineCount();
+#ifdef COMMENTSCAN
+ docBlockContext = YY_START;
+ docBlockInBody = FALSE;
+ docBlockJavaStyle = yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF");
+ docBlock.resize(0);
+ docBlockTerm = ',';
+ if (yytext[yyleng-3]=='/')
+ {
+ startCommentBlock(TRUE);
+ BEGIN( DocLine );
+ }
+ else
+ {
+ startCommentBlock(FALSE);
+ BEGIN( DocBlock );
+ }
+#else
lastAfterDocContext = YY_START;
afterDocTerminator = ',';
if (yytext[yyleng-3]=='/')
@@ -2088,6 +2083,7 @@ IDLATTR ("["[^\]]*"]"){BN}*
current->docFile = yyFileName;
BEGIN(AfterDoc);
}
+#endif
}
<DefineEnd,FindFields,FindFieldArg,ReadInitializer,OldStyleArgs>{BN}*("/**"|"//!"|"/*!"|"///")"<" {
lineCount();
@@ -4142,6 +4138,7 @@ IDLATTR ("["[^\]]*"]"){BN}*
docBlockInBody = YY_START==SkipCurly;
docBlockJavaStyle = FALSE;
docBlock.resize(0);
+ startCommentBlock(FALSE);
BEGIN( DocBlock );
#else
BEGIN( Doc );
@@ -4179,6 +4176,7 @@ IDLATTR ("["[^\]]*"]"){BN}*
current->brief.resize(0);
}
}
+ startCommentBlock(FALSE);
BEGIN( DocBlock );
#else
if (!Config_getBool("JAVADOC_AUTOBRIEF")) // use the Qt style
@@ -4243,6 +4241,7 @@ IDLATTR ("["[^\]]*"]"){BN}*
docBlockInBody = YY_START==SkipCurly;
docBlockJavaStyle = FALSE;
docBlock.resize(0);
+ startCommentBlock(TRUE);
BEGIN( DocLine );
#else
BEGIN( LineDoc );
@@ -4270,6 +4269,7 @@ IDLATTR ("["[^\]]*"]"){BN}*
docBlockInBody = YY_START==SkipCurly;
docBlockJavaStyle = FALSE;
docBlock.resize(0);
+ startCommentBlock(TRUE);
BEGIN( DocLine );
#else
BEGIN( LineDoc );
@@ -4296,8 +4296,7 @@ IDLATTR ("["[^\]]*"]"){BN}*
else
{
if ((insideJava || insideCS || insideD) &&
- current->name.isEmpty() &&
- current->type.isEmpty()
+ current->name.isEmpty()
)
{
// static Java initializer
@@ -4305,6 +4304,7 @@ IDLATTR ("["[^\]]*"]"){BN}*
if (current->stat)
{
current->name="[static initializer]";
+ current->type.resize(0);
}
else
{
@@ -4365,7 +4365,7 @@ IDLATTR ("["[^\]]*"]"){BN}*
}
<DocBlock>^{B}*"*"+/{BN}+ { // start of a comment line
}
-<DocBlock>("@@"|"\\\\"){ID} { // escaped command
+<DocBlock>("@@"|"\\\\"){ID}/[^a-z_A-Z0-9] { // escaped command
docBlock+=yytext;
}
<DocBlock>{CMD}("verbatim"|"latexonly"|"htmlonly"|"xmlonly"|"dot"|"code")/[^a-z_A-Z0-9] { // verbatim command (which could contain nested comments!)
@@ -4399,9 +4399,12 @@ IDLATTR ("["[^\]]*"]"){BN}*
REJECT;
}
}
-<DocCopyBlock>[^@\*\\\n]+ { // any character that is not special
+<DocCopyBlock>[^@/*\\\n]+ { // any character that is not special
docBlock+=yytext;
}
+<DocCopyBlock>"/*"|"*/"|"//" {
+ docBlock+=yytext;
+ }
<DocCopyBlock>\n { // newline
docBlock+=*yytext;
yyLineNr++;
@@ -5259,6 +5262,7 @@ IDLATTR ("["[^\]]*"]"){BN}*
}
<AnchorLabel>{LABELID} {
SectionInfo *si = new SectionInfo(yyFileName,yytext,0,SectionInfo::Anchor);
+ printf("New anchor file=%s label=%s\n",yyFileName,yytext);
Doxygen::sectionDict.insert(yytext,si);
current->anchors->append(si);
current->doc+=yytext;
@@ -6142,6 +6146,62 @@ IDLATTR ("["[^\]]*"]"){BN}*
//----------------------------------------------------------------------------
+static void startCommentBlock(bool brief)
+{
+ if (brief)
+ {
+ current->briefFile = yyFileName;
+ current->briefLine = yyLineNr;
+ }
+ else
+ {
+ current->docFile = yyFileName;
+ current->docLine = yyLineNr;
+ }
+}
+
+static void handleCommentBlock(const QCString &doc,bool brief)
+{
+ if (docBlockInBody)
+ {
+ if (previous==0)
+ {
+ ASSERT(previous!=0); // shouldn't happen
+ goto exit;
+ }
+ if (!previous->doc.isEmpty())
+ { // start a new paragraph for the next piece of text found in the body
+ previous->doc=previous->doc.stripWhiteSpace()+"\n\n";
+ }
+ }
+ if (parseCommentBlock(
+ docBlockInBody ? previous : current,
+ doc, // text
+ yyFileName, // file
+ brief ? current->briefLine : current->docLine, // line of block start
+ docBlockInBody ? FALSE : brief,
+ docBlockInBody ? FALSE : docBlockJavaStyle,
+ protection)
+ ) // need to start a new entry
+ {
+ if (current->section==Entry::MEMBERGRP_SEC)
+ {
+ addMemberGroupDocs();
+ }
+ current_root->addSubEntry(current);
+ previous = current;
+ current = new Entry ;
+ initEntry();
+ }
+
+exit:
+ if (docBlockTerm)
+ {
+ unput(docBlockTerm);
+ docBlockTerm=0;
+ }
+}
+
#ifndef COMMENTSCAN
static void startGroup()
{
diff --git a/src/translator.h b/src/translator.h
index b5f9c9f..360d35b 100644
--- a/src/translator.h
+++ b/src/translator.h
@@ -92,7 +92,7 @@ class Translator
virtual QCString trClassHierarchy() = 0;
virtual QCString trCompoundList() = 0;
virtual QCString trFileList() = 0;
- virtual QCString trHeaderFiles() = 0;
+ //virtual QCString trHeaderFiles() = 0;
virtual QCString trCompoundMembers() = 0;
virtual QCString trFileMembers() = 0;
virtual QCString trRelatedPages() = 0;
@@ -103,11 +103,11 @@ class Translator
virtual QCString trCompoundListDescription() = 0;
virtual QCString trCompoundMembersDescription(bool extractAll) = 0;
virtual QCString trFileMembersDescription(bool extractAll) = 0;
- virtual QCString trHeaderFilesDescription() = 0;
+ //virtual QCString trHeaderFilesDescription() = 0;
virtual QCString trExamplesDescription() = 0;
virtual QCString trRelatedPagesDescription() = 0;
virtual QCString trModulesDescription() = 0;
- virtual QCString trNoDescriptionAvailable() = 0;
+ //virtual QCString trNoDescriptionAvailable() = 0;
// index titles (the project name is prepended for these)
@@ -133,7 +133,7 @@ class Translator
virtual QCString trFunctionPrototypeDocumentation() = 0;
virtual QCString trTypedefDocumentation() = 0;
virtual QCString trEnumerationTypeDocumentation() = 0;
- virtual QCString trEnumerationValueDocumentation() = 0;
+ //virtual QCString trEnumerationValueDocumentation() = 0;
virtual QCString trFunctionDocumentation() = 0;
virtual QCString trVariableDocumentation() = 0;
virtual QCString trCompounds() = 0;
@@ -141,9 +141,9 @@ class Translator
virtual QCString trWrittenBy() = 0;
virtual QCString trClassDiagram(const char *clName) = 0;
virtual QCString trForInternalUseOnly() = 0;
- virtual QCString trReimplementedForInternalReasons() = 0;
+ //virtual QCString trReimplementedForInternalReasons() = 0;
virtual QCString trWarning() = 0;
- virtual QCString trBugsAndLimitations() = 0;
+ //virtual QCString trBugsAndLimitations() = 0;
virtual QCString trVersion() = 0;
virtual QCString trDate() = 0;
virtual QCString trReturns() = 0;
@@ -223,7 +223,7 @@ class Translator
// new since 0.49-991003
//////////////////////////////////////////////////////////////////////////
- virtual QCString trSources() = 0;
+ //virtual QCString trSources() = 0;
virtual QCString trDefinedAtLineInSourceFile() = 0;
virtual QCString trDefinedInSourceFile() = 0;
@@ -317,13 +317,13 @@ class Translator
// new since 1.2.4
//////////////////////////////////////////////////////////////////////////
- virtual QCString trInterfaces() = 0;
+ //virtual QCString trInterfaces() = 0;
virtual QCString trClasses() = 0;
virtual QCString trPackage(const char *name) = 0;
virtual QCString trPackageList() = 0;
virtual QCString trPackageListDescription() = 0;
virtual QCString trPackages() = 0;
- virtual QCString trPackageDocumentation() = 0;
+ //virtual QCString trPackageDocumentation() = 0;
virtual QCString trDefineValue() = 0;
//////////////////////////////////////////////////////////////////////////
@@ -349,7 +349,7 @@ class Translator
virtual QCString trGroup(bool first_capital, bool singular) = 0;
virtual QCString trPage(bool first_capital, bool singular) = 0;
virtual QCString trMember(bool first_capital, bool singular) = 0;
- virtual QCString trField(bool first_capital, bool singular) = 0;
+ //virtual QCString trField(bool first_capital, bool singular) = 0;
virtual QCString trGlobal(bool first_capital, bool singular) = 0;
//////////////////////////////////////////////////////////////////////////
diff --git a/src/translator_ua.h b/src/translator_ua.h
index c817527..fac3a10 100644
--- a/src/translator_ua.h
+++ b/src/translator_ua.h
@@ -20,7 +20,7 @@
#ifndef TRANSLATOR_UA_H
#define TRANSLATOR_UA_H
-class TranslatorUkrainian : public TranslatorAdapter_1_2_11
+class TranslatorUkrainian : public Translator
{
private:
/*! The Decode() inline assumes the source written in the
@@ -302,11 +302,11 @@ class TranslatorUkrainian : public TranslatorAdapter_1_2_11
/*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription()
- { return decode("Полный список додаткових опис╕в."); }
+ { return decode("Повний список додаткових опис╕в."); }
/*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription()
- { return decode("Полный список модул╕в."); }
+ { return decode("Повний список модул╕в."); }
/*! This sentences is used in the annotated class/file lists if no brief
* description is given.
@@ -622,8 +622,8 @@ class TranslatorUkrainian : public TranslatorAdapter_1_2_11
case ClassDef::Struct: result+="структури"; break;
case ClassDef::Union: result+="об'╓днання"; break;
case ClassDef::Interface: result+="╕нтерфейсу"; break;
- case ClassDef::Protocol: result+="protocol"; break; // translate me!
- case ClassDef::Category: result+="category"; break; // translate me!
+ case ClassDef::Protocol: result+="протоколу"; break;
+ case ClassDef::Category: result+="категор╕╖"; break;
case ClassDef::Exception: result+="Виняток"; break;
}
}
@@ -635,8 +635,8 @@ class TranslatorUkrainian : public TranslatorAdapter_1_2_11
case ClassDef::Struct: result+="Структура"; break;
case ClassDef::Union: result+="Об'╓днання"; break;
case ClassDef::Interface: result+="╤нтерфейс"; break;
- case ClassDef::Protocol: result+="protocol"; break; // translate me!
- case ClassDef::Category: result+="category"; break; // translate me!
+ case ClassDef::Protocol: result+="Протокол"; break;
+ case ClassDef::Category: result+="Категор╕я"; break;
case ClassDef::Exception: result+="Виняток"; break;
}
}
@@ -800,10 +800,10 @@ class TranslatorUkrainian : public TranslatorAdapter_1_2_11
if (single) result+="цього ╕нтерфейсу"; else result+="цих ╕нтерфейс╕в";
break;
case ClassDef::Protocol:
- if (single) result+="protocol"; else result+="protocols"; // translate me!
+ if (single) result+="цього протоколу"; else result+="цих протокол╕в";
break;
case ClassDef::Category:
- if (single) result+="category"; else result+="categories"; // translate me!
+ if (single) result+="ц╕╓╖ категор╕╖"; else result+="цих категор╕й";
break;
case ClassDef::Exception:
if (single) result+="цього винятку"; else result+="цих винятк╕в";
@@ -826,7 +826,7 @@ class TranslatorUkrainian : public TranslatorAdapter_1_2_11
/*! This is used as the heading text for the retval command. */
virtual QCString trReturnValues()
- { return decode("Значения, що повертаються"); }
+ { return decode("Значення, що повертаються"); }
/*! This is in the (quick) index as a link to the main page (index.html)
*/
@@ -1024,7 +1024,7 @@ class TranslatorUkrainian : public TranslatorAdapter_1_2_11
}
virtual QCString trInclByDepGraph()
{
- return decode("Граф файлов, як╕ включають цей файл:");
+ return decode("Граф файл╕в, як╕ включають цей файл:");
}
virtual QCString trSince()
/*??*/
@@ -1048,11 +1048,11 @@ class TranslatorUkrainian : public TranslatorAdapter_1_2_11
"Позначення, що використовуються у графах.<p>\n"
"Розглянемо наступний приклад:\n"
"\\code\n"
- "/*! Невидимый класс из-за усечения */\n"
+ "/*! Невидимий клас через зр╕зання */\n"
"class Invisible { };\n\n"
"/*! Обмежений клас, в╕дношення успадкування приховане */\n"
"class Truncated : public Invisible { };\n\n"
- "/* Недокументований класс */\n"
+ "/* Недокументований клас */\n"
"class Undocumented { };\n\n"
"/*! Загальнодоступне успадкування */\n"
"class PublicBase : public Truncated { };\n\n"
@@ -1089,7 +1089,7 @@ class TranslatorUkrainian : public TranslatorAdapter_1_2_11
"Стр╕лки мають наступний зм╕ст:\n"
"<ul>\n"
"<li>Темносиня стр╕лка в╕добража╓ в╕дношення загальнодоступного успадкування "
- "м╕ь двома класами.\n"
+ "м╕ж двома класами.\n"
"<li>Темнозелена стр╕лка використову╓ться при захищеному успадкуванн╕.\n"
"<li>Темночервона стр╕лка використову╓ться при приватному успадкуванн╕.\n"
"<li>Пурпурна стр╕лка використову╓ться, якщо клас м╕ститься в"
@@ -1338,6 +1338,249 @@ class TranslatorUkrainian : public TranslatorAdapter_1_2_11
if (!singular) result+="и";
return decode(result);
}
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.11
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This text is put before the list of members referenced by a member
+ */
+ virtual QCString trReferences()
+ {
+ return "Використову╓";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.13
+//////////////////////////////////////////////////////////////////////////
+
+ /*! used in member documentation blocks to produce a list of
+ * members that are implemented by this one.
+ */
+ virtual QCString trImplementedFromList(int numEntries)
+ {
+ return "Реал╕зу╓ " + trWriteList(numEntries) + ".";
+ }
+
+ /*! used in member documentation blocks to produce a list of
+ * all members that implement this abstract member.
+ */
+ virtual QCString trImplementedInList(int numEntries)
+ {
+ return "Реал╕зу╓ в " + trWriteList(numEntries) + ".";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.16
+//////////////////////////////////////////////////////////////////////////
+
+ /*! used in RTF documentation as a heading for the Table
+ * of Contents.
+ */
+ virtual QCString trRTFTableOfContents()
+ {
+ return "Зм╕ст";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.17
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as the header of the list of item that have been
+ * flagged deprecated
+ */
+ virtual QCString trDeprecatedList()
+ {
+ return "Застар╕л╕ елементи";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.18
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a header for declaration section of the events found in
+ * a C# program
+ */
+ virtual QCString trEvents()
+ {
+ return "Под╕╖";
+ }
+
+ /*! Header used for the documentation section of a class' events. */
+ virtual QCString trEventDocumentation()
+ {
+ return "Документац╕я под╕й";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a heading for a list of Java class types with package scope.
+ */
+ virtual QCString trPackageTypes()
+ {
+ return "Типи пакет╕в";
+ }
+
+ /*! Used as a heading for a list of Java class functions with package
+ * scope.
+ */
+ virtual QCString trPackageMembers()
+ {
+ return "Функц╕╖ пакет╕в";
+ }
+
+ /*! Used as a heading for a list of static Java class functions with
+ * package scope.
+ */
+ virtual QCString trStaticPackageMembers()
+ {
+ return "Статичн╕ функц╕ю пакет╕в";
+ }
+
+ /*! Used as a heading for a list of Java class variables with package
+ * scope.
+ */
+ virtual QCString trPackageAttribs()
+ {
+ return "Атрибути пакет╕в";
+ }
+
+ /*! Used as a heading for a list of static Java class variables with
+ * package scope.
+ */
+ virtual QCString trStaticPackageAttribs()
+ {
+ return "Статичн╕ атрибути пакет╕в";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used in the quick index of a class/file/namespace member list page
+ * to link to the unfiltered list of all members.
+ */
+ virtual QCString trAll()
+ {
+ return "Вс╕";
+ }
+ /*! Put in front of the call graph for a function. */
+ virtual QCString trCallGraph()
+ {
+ return "Граф вс╕х виклик╕в ц╕╓╖ функц╕╖:";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.3
+//////////////////////////////////////////////////////////////////////////
+
+ /*! When the search engine is enabled this text is put in the header
+ * of each page before the field where one can enter the text to search
+ * for.
+ */
+ virtual QCString trSearchForIndex()
+ {
+ return "Шукати";
+ }
+ /*! This string is used as the title for the page listing the search
+ * results.
+ */
+ virtual QCString trSearchResultsTitle()
+ {
+ return "Результати пошуку";
+ }
+ /*! This string is put just before listing the search results. The
+ * text can be different depending on the number of documents found.
+ * Inside the text you can put the special marker $num to insert
+ * the number representing the actual number of search results.
+ * The @a numDocuments parameter can be either 0, 1 or 2, where the
+ * value 2 represents 2 or more matches. HTML markup is allowed inside
+ * the returned string.
+ */
+ virtual QCString trSearchResults(int numDocuments)
+ {
+ if (numDocuments==0)
+ {
+ return "Не знайдено документ╕в в╕дпов╕дно до вашого запиту.";
+ }
+ else if (numDocuments==1)
+ {
+ return "Було знайдено <b>1</b> документ в╕дпов╕дно до вашого запиту.";
+ }
+ else
+ {
+ return "Було знайдено <b>$num</b> документ╕в в╕дпов╕дно до вашого запиту. "
+ "Найкращ╕ в╕дпов╕дност╕ показано спочатку.";
+ }
+ }
+ /*! This string is put before the list of matched words, for each search
+ * result. What follows is the list of words that matched the query.
+ */
+ virtual QCString trSearchMatches()
+ {
+ return "В╕дпов╕дн╕сть:";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// 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 "Текст програми "+filename;
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.9
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used as the name of the chapter containing the directory
+ * hierarchy.
+ */
+ virtual QCString trDirIndex()
+ { return "Дерево каталог╕в"; }
+
+ /*! This is used as the name of the chapter containing the documentation
+ * of the directories.
+ */
+ virtual QCString trDirDocumentation()
+ { return "Документац╕я каталог╕в"; }
+
+ /*! This is used as the title of the directory index and also in the
+ * Quick links of a HTML page, to link to the directory hierarchy.
+ */
+ virtual QCString trDirectories()
+ { return "Каталоги"; }
+
+ /*! This returns a sentences that introduces the directory hierarchy.
+ * and the fact that it is sorted alphabetically per level
+ */
+ virtual QCString trDirDescription()
+ { return "Дерево каталог╕в впорядковано наближено "
+ "до алфав╕ту:";
+ }
+
+ /*! 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="Дов╕дник каталогу "; 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, bool singular)
+ {
+ QCString result("Каталог");
+ if (!singular) result+="и";
+ return result;
+ }
+
};
#endif
+
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index 682ad44..2030789 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -493,6 +493,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
// - body code
// + template arguments
// (templateArguments(), definitionTemplateParameterLists())
+ // - call graph
// enum values are written as part of the enum
if (md->memberType()==MemberDef::EnumValue) return;
@@ -896,7 +897,7 @@ static void writeInnerClasses(const ClassSDict *cl,QTextStream &t)
ClassDef *cd;
for (cli.toFirst();(cd=cli.current());++cli)
{
- if (cd->name().find('@')!=-1) // skip anonymous scopes
+ if (cd->name().find('@')==-1) // skip anonymous scopes
{
t << " <innerclass refid=\"" << cd->getOutputFileBase()
<< "\">" << convertToXML(cd->name()) << "</innerclass>" << endl;
@@ -913,7 +914,7 @@ static void writeInnerNamespaces(const NamespaceSDict *nl,QTextStream &t)
NamespaceDef *nd;
for (nli.toFirst();(nd=nli.current());++nli)
{
- if (nd->name().find('@')!=-1) // skip anonymouse scopes
+ if (nd->name().find('@')==-1) // skip anonymouse scopes
{
t << " <innernamespace refid=\"" << nd->getOutputFileBase()
<< "\">" << convertToXML(nd->name()) << "</innernamespace>" << endl;