Commit graph

57 commits

Author SHA1 Message Date
Vadim Zeitlin
05b5ed11bc Add a possibility to flexibly ignore custom Doxygen tags.
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.
2014-09-11 01:39:42 +02:00
Vadim Zeitlin
6629d93481 Allow upper case letters and digits in Doxygen words.
Although all standard Doxygen commands are composed from lower case letters
and some special symbols only, custom commands can include upper case letters
and digits too.

Also use a symbolic constant defined once instead of repeating the same set of
characters twice.
2014-09-03 17:28:23 +02:00
Vadim Zeitlin
dc3102a535 Pass the node the Doxygen comment is attached to to DoxygenParser.
This will be needed to take into account various Doxygen-specific features
that can be attached to this node.
2014-09-03 17:28:23 +02:00
Vadim Zeitlin
a7b67a2cac Get rid of findCommand() which duplicaed commandBelongs().
There is no need for two functions for finding the value of a key in the map.
2014-09-03 17:28:23 +02:00
Vadim Zeitlin
f256f0107e Recognize unknown Doxygen tags correctly.
DoxygenParser::commandBelongs() returned the same value (0) for simple
commands and unrecognized commands. Fix this by returning a different NONE
value for the latter.
2014-09-03 17:28:23 +02:00
Vadim Zeitlin
f0ed5e90d7 No real changes, just pass original command to commandBelongs().
Don't transform commandBelongs() argument to lower case as it's done inside
the function itself anyhow -- and it will need the original case soon.
2014-09-03 17:28:23 +02:00
Vadim Zeitlin
a1d7930835 Give warnings for unknown Doxygen commands in Doxygen parser.
Silently ignoring unknown Doxygen commands is not a reasonable default
behaviour, it's simple enough to turn off the warning if the command is really
supposed to be just ignored, but it's too easy to not notice a real problem if
it isn't.

Turn WARN_DOXYGEN_UNKNOWN_COMMAND on by default and add a test to the errors
test suite checking that it is indeed given.
2014-09-03 17:28:10 +02:00
Vadim Zeitlin
14ba3b8dd4 Preserve relative indentation when parsing Doxygen comments.
This is important to preserve the structure of the lists which appear
correctly in Python output without any additional effort if the indentation is
lost.

It is also makes the behaviour consistent for

	/**
	 *
	 *
	 */

comments and those without the asterisks in the middle lines, as now the
indentation is preserved in both cases while it was only preserved when the
asterisks were present previously.
2014-08-22 17:45:22 +02:00
Vadim Zeitlin
5c0ed6c635 No changes, just spelling fixes in Doxygen branch changes.
Most are just typos, but also s/JavaDoc/Javadoc/ and s/PythonDoc/Pydoc/ as
this is how they are officially called.
2014-05-07 19:12:10 +02:00
Marko Klopcic
4663fce63c fixed bug in handling of ref tag in Java, added handling in Python 2013-03-17 20:09:34 +01:00
Marko Klopcic
4e2c1e3ac3 added handling for tag ref in Java 2013-03-16 10:53:48 +01:00
Marko Klopcic
00ff8886c6 formatting updated 2013-02-23 16:46:14 +01:00
Marko Klopcic
530d65a98c added fix for word commands aqnd ellipsis 2013-02-23 16:44:09 +01:00
Marko Klopcic
b5dea7456b improved handling of word commands if puntuation is following the word, preserved spaces at start of comment line 2013-02-21 09:05:11 +01:00
Marko Klopcic
2a8b20785e fixed bug in handling of HTML tags, test added 2013-02-19 07:25:13 +01:00
Marko Klopcic
29d1bba70a improved comment formatting for Python 2013-02-02 23:01:09 +01:00
Marko Klopcic
1883797742 refactored comment tokenizer 2013-01-29 22:58:10 +01:00
Marko Klopcic
2df4449e3b commands \f? (LateX formulas) are no longer ignored - formulas are copied literally to Java comments 2013-01-28 20:07:36 +01:00
Marko Klopcic
9a1bb671c1 fixed bug with caption in command 'image' 2013-01-27 22:18:06 +01:00
Marko Klopcic
8de06366cf fixed handling of quoted text adn standalone backslash and @ 2013-01-23 23:15:36 +01:00
Marko Klopcic
f6fc808534 fixed handling of < and > when they are not used for html tag 2013-01-21 22:22:02 +01:00
Marko Klopcic
a2b0d42c32 fixed tests for HTML entities and handling of HTML entities 2013-01-18 22:30:23 +01:00
Marko Klopcic
4955cdaac6 added handling of HTML entities 2013-01-18 22:22:22 +01:00
Marko Klopcic
13d2dad679 added tests for HTML tags, bugs in HTML tags fixed 2013-01-18 21:21:12 +01:00
Marko Klopcic
7984516b31 implemented translation of HTML tags - they are handled as a special class of commands 2013-01-16 23:15:14 +01:00
Marko Klopcic
32f34e16be improved commands for escaped characters 2013-01-13 20:02:39 +01:00
Marko Klopcic
a9ef35bc66 Parsing of comments to tokens rewritten so that html entities and html tags are now treated as commands. Whitespaces are also preserved more acurately, so some doxygen tests fail at the moment 2013-01-10 08:51:56 +01:00
Marko Klopcic
af74b4f96a renamed test case
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13726 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-27 20:25:00 +00:00
Marko Klopcic
46f2a16608 more refactoring, typedefs were introduced, DoxyCommandEnum moved to DoxygenParser
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13725 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-26 20:07:57 +00:00
Marko Klopcic
c9eda79264 refactored DoxygenEntity class
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13724 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-26 15:34:46 +00:00
Marko Klopcic
ed6df45c0a refactored DoxygenParser: class Token is now nested in Doxygen parser because it is only used there, class TokenList has been removed - it more or less duplicated std::list, other code moved to DoxygenParser
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13722 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-26 13:00:52 +00:00
Dmitry Kabak
3eed72b659 Updated Doxygen warning system
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13598 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-11 15:23:18 +00:00
Dmitry Kabak
9600bb310f Improved unknown Doxygen commands handling
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13591 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-10 21:21:16 +00:00
Dmitry Kabak
342bff6ec9 Changed quoted strings handling. Also not missing any doxygen commands now.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13563 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-08 14:16:48 +00:00
Dmitry Kabak
cecc793782 Various small code fixes. Some unwanted code removed.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13551 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-07 20:04:23 +00:00
Dmitry Kabak
3fbe45f0c6 Added nice doxygen debug switching (-debug-doxygen-parser and -debug-doxygen-translator)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13427 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-29 13:48:03 +00:00
Dmitry Kabak
3d5d66dbd3 Fixed a bug with freezing on commands like \code, \link and others
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13330 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-17 23:17:17 +00:00
Dmitry Kabak
32154a91e4 Normalized parameters handling, included newlines to the parsed tree
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13326 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-16 19:37:05 +00:00
Dmitry Kabak
4ce9f2361c Added support for parsing of missing doxygen commands. Now parser produces correct parse tree for every doxygen tag, at least for those included in the testcase. Also added the test with all the tags, even those that will be ignored later.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13322 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-14 22:41:41 +00:00
Dmitry Kabak
b99221e8af Refactored TokenList class
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13320 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-13 14:08:37 +00:00
Dmitry Kabak
6a7fe334be Implemented parsing support for missing commands: \xrefitem, \ref, \subpage, \dotfile, \mscfile, \image, fixed \par
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13319 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-13 10:46:59 +00:00
Dmitry Kabak
6a54fe93ad Added support for parsing of nested conditional comments and extended the test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13317 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-12 17:02:04 +00:00
Dmitry Kabak
ed1bd4fbb9 Implemented nice error output, with filename and line number information.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13313 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-10 17:17:51 +00:00
Dmitry Kabak
b3f53b98a0 Added error reporting in case when there is no closing doxygen tag
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13266 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-07 18:48:10 +00:00
Dmitry Kabak
2d47ffc87d Fixed small bug in DoxygenParser.cpp, now it won't freeze if it doesn't find doxygen ending tag. Also turned debug output off
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13265 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-07 15:24:35 +00:00
Dmitry Kabak
509cbd72b0 Small JavaDoc converter and doxygen parser improvements, now basic tags working
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13263 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-07 13:47:35 +00:00
Dmitry Kabak
501bb822e6 Oops, debug output should be left off by default
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13256 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-04 22:56:29 +00:00
Dmitry Kabak
4398d1aee4 Fixed a bug in parser with doxygen commands like code, dot, verbatim and so on
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13254 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-04 22:28:41 +00:00
Dmitry Kabak
13adf595ec Refactored the code, got rid of global objects, got rid of tons of string comparisons
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13253 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-04 22:23:22 +00:00
William S Fulton
02fbe37ae6 Add new GPL license headers to source files added in this branch
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-cherylfoil@11911 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-06 11:47:21 +00:00