Commit graph swig/Examples
Author SHA1 Message Date
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
Richard
19d2976962 Allow to specify V8 version, for example
V8_VERSION=0x031511 ENGINE=v8 make check-javascript-examples
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
Johan Hake
1dd297ad9d Fix issue with relative import when using single header file import.
-- The commit propagates the package option to the newly create
     module node so it is recognized by SWIG
  -- Added a relativeimport test for this combination
     (in lack of py3 I was not able to test it with py3 but it
      "should just work")
2014-08-12 21:48:26 +02:00
Simon Marchetto
31022667d6 scilab: file name is 'example' as in other examples 2014-08-08 17:47:36 +02:00
Simon Marchetto
9b427cc2e0 scilab: add missing exit in template example 2014-08-08 11:57:34 +02:00
Simon Marchetto
98d823face scilab: template example same as in other languages 2014-07-24 17:25:58 +02:00
Simon Marchetto
f602d6209e scilab: fix comment typo 2014-07-24 17:14:42 +02:00
Simon Marchetto
7c9a7ea78a scilab: remove indentation in example 2014-07-24 17:14:24 +02:00
Simon Marchetto
20987c42d0 scilab; new example scilab_const 2014-07-24 17:13:33 +02:00
Simon Marchetto
e37319b9be scilab: enum example same as in other languages 2014-07-24 17:09:19 +02:00
Simon Marchetto
d8a0594254 scilab: constants example same as in other languages 2014-07-24 16:34:54 +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
3b116719df scilab: clean contract example 2014-07-10 12:23:20 +02:00
Simon Marchetto
e3856c1c87 scilab: fix Examples makefile missing separator 2014-07-10 12:19:07 +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
71b838b777 scilab: fix exit code in Example makefile 2014-07-10 09:22:32 +02:00
Simon Marchetto
8fdb67cace scilab: rollback INCLUDE 2014-07-03 15:03:34 +02:00
Simon Marchetto
4fc2d37c66 scilab: rollback (INCLUDE) 2014-07-03 12:42:30 +02:00
Simon Marchetto
dd1128733f scilab: remove debug stuff 2014-07-03 12:15:35 +02:00
Simon Marchetto
d50620ddeb scilab: use TARGET in Examples Makefile 2014-07-03 12:13:49 +02:00
Simon Marchetto
a3eae4c014 scilab: reorder arguments 2014-07-03 11:59:31 +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
Simon Marchetto
57b5eab759 scilab: simplify Examples makefile 2014-07-03 10:47:37 +02:00
Simon Marchetto
2a5858e1e0 scilab: remove debug stuff 2014-07-02 17:44:59 +02:00
Simon Marchetto
386d9f2a54 scilab: remove debug stuff 2014-07-02 17:34:50 +02:00
Simon Marchetto
090a2e0371 scilab: fix copy of additional sources in current dir + delete it 2014-07-02 17:34:25 +02:00