1. Refactored DoxygenTranslator base class, and adapted JavaDocConverter
and PyDocConverter. I've got rid of static functions, numerous class
creations and deletions and I've thrown out some strange use of this
objects (it was like this before: every time java.cxx or python.cxx
encounters the node it may print the comments of, it calls static
DoxygenTranslator function with the selection of JavaDoc or PythonDoc, that
function creates the instance of JavaDocConverter and does the job (even if
there is no comments or docs at all)). Now all the classes are created only
once and the correct virtual functions are used. I've also implemented
results caching, so that one doxygen comment would not be translated twice.
2. Fixed some strange bug in PyDocConverter that sometimes missed the
comments for params. It checked the 'tmap:in' attribute, and if it existed,
it chose the next param as 'tmap:in:next', but that attribute was absent
and the code missed all the params. In some cases.
1. I still have some problems with comments parsing code. I already have
an idea how to do the things less buggy, and I'm working on that. After
fixing the issue with proper assignment of comments to the right nodes,
there is also a question in enum code generation. As in C/C++ enum object
is really object and it can be marked with doxygen comment, but in java in
simple enums mode it is just a list of constants, and it is nonclear where
to put the translated comment of enum node.
2. Again, think of reworking of the translating code, rewrite it using
hashtables (now it is implemented via lots of string compare calls) and
more high-level object interface.
3. Add some more cases to the testsuite, as I noticed that in some cases
post-comments to the nodes destroy everything (the resulted proxy file
appears empty, but swig reports no errors).