Commit graph

4,753 commits

Author SHA1 Message Date
Olly Betts
b9fe7b5f00 Disable case in pp_constant.i which never actually worked 2014-09-03 17:18:11 -03:00
William S Fulton
ae6782ea34 Suppress testcase warning 2014-09-03 20:07:50 +01: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
Olly Betts
d3b3ff2c78 Fix comment typo 2014-09-02 23:12:35 -03:00
William S Fulton
7acf8de21e Scilab overloaded method testcase warning suppression 2014-09-01 19:56:39 +01:00
Alexey Pelykh
abb888cfdd Clean-up test suite and fix issue with nspace, as well as keep the fix for Class::Struct::EnumClass being JNI-referenced as Struct_EnumClass 2014-08-31 12:14:29 +03:00
Alexey Pelykh
d318f03efe C++11 strongly-typed enums fix for Java only (proper) 2014-08-30 11:58:52 +03:00
Alexey Pelykh
d1b1925270 Additional test cases for C++11 strongly-typed enums 2014-08-30 09:08:04 +03:00
Richard
b8d7cc21b9 Use macros for V8 items 2014-08-28 19:46:52 -05:00
Richard
b0afc7a9a5 Allow to specify V8 version, for example:
V8_VERSION=0x031511 ENGINE=v8 make check-javascript-test-suite
2014-08-28 19:46:49 -05:00
William S Fulton
332c02ae2d Scilab minor build system improvement 2014-08-26 19:52:03 +01:00
Vadim Zeitlin
6aa9cd37a5 Document the return type when translating Doxygen @return to Python.
In addition to translating the comment itself, also document the type of the
object returned. This is consistent with generating not only :param: but also
:type: for the parameters documented using @param.
2014-08-22 17:45:24 +02:00
Vadim Zeitlin
1f826b0925 Fix translated Doxygen comments for overloaded functions in Python.
The most important change is to ensure that the "Overload" headers added by
PyDocConverter code are indented correctly, i.e. using the same indent level
as the comment itself, otherwise Sphinx directives such as :param: were not
parsed correctly.

Also add a vertical separator using reST "|" formatting character to increase
separation between the overloads.
2014-08-22 17:45:24 +02:00
Vadim Zeitlin
73f6971931 Also merge Doxygen comments for overloaded constructors in Python.
This was done for plain functions/methods but not constructors, which don't
have "kind=function" attribute.

Just don't check for "kind" at all, the presence of "sym:overloaded" should be
good enough to indicate that it's an overloaded something.

Also add a test for overloaded constructors documentation.
2014-08-22 17:45:24 +02:00
Vadim Zeitlin
52bd2a1921 Allow using enum elements as default values for Python functions.
Enum values are just (integer) constants in Python and so can be used as the
function default values just as well as literal numbers, account for this when
checking whether function parameters can be represented in Python.

Also rename is_primitive_defaultargs() to is_representable_as_pyargs() to
describe better what this function does.
2014-08-22 17:45:24 +02:00
Vadim Zeitlin
16548cced0 Simplify and make more efficient building Python docstrings.
Make the rules for combining explicitly specified docstring, autodoc one and
the one obtained by translating Doxygen comments implicit in the structure of
the code itself instead of writing complicated conditions checking them.

This results in small changes to the whitespace in the generated Python code
when using autodoc, but this makes it PEP 8-compliant, so it is the right
thing to do anyhow.

Also cache the docstring built from translated Doxygen comments. The existing
code seemed to intend to do it, but didn't, really. This helps with
performance generally speaking (-10% for a relatively big library using a lot
of Doxygen comments) and also makes debugging Doxygen translation code less
painful as it's executed only once instead of twice for each comment.

Finally, avoid putting "r", used for Python raw strings, into docstrings in C
code, it is really not needed there.
2014-08-22 17:45:23 +02:00
Vadim Zeitlin
d678891e43 Translate Doxygen code blocks to Sphinx code blocks.
This ensures they are formatted correctly and syntax highlighted (currently
always as C++ code).
2014-08-22 17:45:23 +02:00
Vadim Zeitlin
0f21adf3f9 Add a simple test of multiple parameters to Doxygen test suite.
Ensure that translating more than one @param tag works correctly.
2014-08-22 17:45:23 +02:00
Vadim Zeitlin
bb01e06a6a Make Python parameters types hyperlinks in the doc strings.
It is very useful to be able to click on the parameter types in a function
documentation to go to this parameter description, so always use hyperlink
markup for the parameters of class types, even if not all of them are
necessarily documented -- Sphinx doesn't seem to complain about links to
unknown classes.
2014-08-22 17:45:23 +02:00
Vadim Zeitlin
8b83976f4c Fix arguments of @param, @return etc translations to Python.
For the parameter documentation to be really taken as such, in its entirety,
by Sphinx, it must be indented relative to the :param: tag. Do this by
appending an extra indent after every line of the output and work around the
unnecessary indent of the last line by removing the trailing whitespace.

This required updating the existing tests and removing the expected but not
present any more whitespace from them, but as trailing whitespace in the
documentation is at best insignificant (and at worst harmful) anyhow, this is
not a big price to pay for simpler translator code.
2014-08-22 17:45:22 +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
ea1d56da67 Use Sphinx-friendly formatting for overloaded functions documentation.
Sphinx doesn't allow sections inside the function documentation and gives tons
of SEVERE warnings for them, so while just emphasizing the "Overload" header
is not ideal, it is better than before because at least the string "Overload"
itself appears in the Sphinx-generated output.
2014-08-22 17:45:22 +02:00
Vadim Zeitlin
eaf63ba47d Add poor man trailing white space detection to Doxygen Python tests.
Show that there is trailing white space in the output in an ugly but
functional way, as without this it's impossible to determine what is the
actual change at all.
2014-08-22 17:45:22 +02:00
Vadim Zeitlin
dd4c680a02 Use Python-ish, not C++, parameter types in Python documentation.
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.
2014-08-22 17:45:22 +02:00
Vadim Zeitlin
b96dd8bb97 Implement translation of Doxygen formulae to Sphinx notation.
This allows to automatically have nicely looking formulae in HTML output when
using Sphinx with e.g. sphinx.ext.mathjax extension.
2014-08-22 17:45:21 +02:00
Vadim Zeitlin
15b369028f Allow using enum elements as default values for Python functions.
Enum values are just (integer) constants in Python and so can be used as the
function default values just as well as literal numbers, account for this when
checking whether function parameters can be represented in Python.

Also rename is_primitive_defaultargs() to is_representable_as_pyargs() to
describe better what this function does.
2014-08-17 01:08:32 +02:00
Robert Stone
488aed4224 apply SF Patch #350 and add testcase 2014-08-15 21:47:10 -07:00
Vadim Zeitlin
7d2743a0bb Use reST inline markup in PyDocConverter instead of Markdown.
reST is standard Python markup, so use *...*, ``...`` and so on instead of
_..._, '...' etc.

No other changes even though the mapping of some Doxygen tags to markup used
for them seems suspicions (e.g. \var almost certainly should be the same as
\em).
2014-08-13 16:11:30 +02:00
Vadim Zeitlin
b374aad0da Use Sphinx-compatible docstring format in PyDocConverter.
Use the more or less standard :param:, :type:, :return: and :raises: in the
function/methods descriptions.

Update the output expected from the Python tests accordingly.
2014-08-13 16:11:30 +02:00
Vadim Zeitlin
329d64bb04 Show the diff when a Doxygen test fails.
This is much more readable than just dumping the expected output and the
actual result produced by SWIG, especially for longer Doxygen comments.

Remove the bunch of commented out code and also do not save the results
in the file, this is not very useful as it's not even clear which test the
files correspond to and annoying when these files are left over later. If
anybody really uses this functionality, it ought to be optional.
2014-08-13 16:11:30 +02:00
Vadim Zeitlin
6cce652762 Merge latest master into doxygen branch again.
Update Doxygen-specific Python unit tests to work with the new indentation.

Update one of Doxygen-specific Java tests to still build with the new handling
of srcdir.
2014-08-13 16:11:21 +02:00
Simon Marchetto
bb4b6742eb scilab: hide too long identifier warnings 2014-07-24 11:14:07 +02:00
Yuval Kashtan
093fe2a556 Add support for java.nio.Buffer
including test-suite test case and documentation
2014-07-18 15:45:16 +03:00
Simon Marchetto
7ce1550664 scilab: fix missing include in li_std_container_typemaps test 2014-07-10 12:54:57 +02:00
Simon Marchetto
34db2b83c5 scilab: library stl.i include same libraries as in other languages 2014-07-10 09:22:32 +02:00
Simon Marchetto
8fdb67cace scilab: rollback INCLUDE 2014-07-03 15:03:34 +02:00
Simon Marchetto
5e7627c3f7 scilab: remove useless SCRIPTDIR 2014-07-03 11:58:47 +02:00
Simon Marchetto
d6cca41d3e scilab: simplify Examples makefile (removing INCLUDE stuff) 2014-07-03 11:32:59 +02:00
William S Fulton
83749b3937 Fix expansion of the $parentclassname special variable
It incorrectly contains brackets in the expanded name.
Fixes SF Bug 1375.
2014-07-01 20:27:48 +01:00
William S Fulton
70cee61c2a Cosmetic test case change 2014-06-26 20:30:25 +01:00
William S Fulton
daab0d748c Fix ancient bad merge from trunk 2014-06-26 20:30:25 +01:00
William S Fulton
0ebe64c041 Run overload_arrays testcase in all languages not just Scilab 2014-06-26 20:30:25 +01:00
William S Fulton
a40ab6a7d2 Better Scilab workaround for testcase 2014-06-26 20:30:24 +01:00
William S Fulton
2f01e5468f Fix ancient merge error
in 75d2abfddb
2014-06-26 20:30:24 +01:00
William S Fulton
8143e59d68 Revert "scilab: implement enum_var test"
This reverts commit fbe6c13267.

It looks like an accidental change to me
2014-06-26 20:30:24 +01:00
Simon Marchetto
821118de9b scilab: rename swig_this(), swig_ptr() to SWIG_this(), SWIG_ptr() 2014-06-26 09:44:49 +02:00
Simon Marchetto
9fc32cb866 scilab: fix test-suite: change to test dir before running test 2014-06-20 16:48:24 +02:00
Simon Marchetto
2aabb4527e scilab: fix test-suite clean 2014-06-20 12:34:33 +02:00
Simon Marchetto
0f57082cc4 scilab: no need to copy runme script in in-source build 2014-06-20 12:34:33 +02:00
Simon Marchetto
2935426968 scilab: fix nested_structs test 2014-06-19 09:22:00 +02:00