Updates to supported/unsupported doxygen tags for both Java and
Python. Document new support for \code and \param options. Also
update documentation of various other tags as well as the list of
unsupported tags for python.
Reformat the tables of unsupported and ignored tags. Previous table
format was not maintainable. Changing to use multi-column lists, so
that entries can be easily sorted and updated. The displayed order is
now by row instead of by column, which is decidedly easier to read.
Other than removing duplicates, no change to content.
Source/DoxygenTranslator/src directory is renamed Source/Doxygen
Renamed files in this directory to short names using lowercase as is the
convention for the rest of the SWIG source.
C++ extension is also .cxx like other SWIG source code.
I used doxy as the prefix for most file renames because without this
Doxygen/parser.* would be easily confused with CParse/parser.* so
Doxygen/doxyparser.* is renamed from DoxygenTranslator/src/DoxygenParser.*
This allows to replace non-standard Doxygen commands with some (fixed) text
instead of just ignoring them, as was already possible with the feature
doxygen:ignore.
Even though browsers manage to display unpaired "<"s correctly, using them is
still wrong and they confuse other tools, e.g. syntax highlighting in the
editors.
Link to the reference documentation of Javadoc at oracle.com instead, it is
more useful than the overview article (which can still be found on Oracle web
site searching for its title).
Add %feature("doxygen:ignore:<command>") implementation, documentation and
test case.
This feature allows to use custom tags in C++ Doxygen comments for
C++-specific things that don't make sense in the context of the target
language and also allows to insert contents specific to the target language in
the C++ comments using (different) custom commands, which is very useful in
practice to explain the particularities of the API wrappers.
Put them all in a single table instead of describing doxygen:notranslate
separately for Java and Python when it does the same thing for both.
And while doxygen:nolinkranslate and doxygen:nostripparams are currently
Java-specific, it probably won't remain this way and these features would
either be made to work for Python as well or, perhaps, removed entirely.
Using C++ types in documentation for Python users is more harmful than
useless, so use Python types whenever possible and allow defining "doctype"
typemap to customize this for the user-defined types.