- Static method wrappers were using the 'fastproxy' approach by default.
This is inconsistent with instance method wrappers. The fastproxy approach
is now turned off by default to be consistent with instance methods.
Static method wrappers can now also be controlled using the -fastproxy and
-olddefs options.
Example:
struct Klass {
static int statmethod(int a = 2);
};
generates:
class Klass(object):
...
@staticmethod
def statmethod(a=2):
return _example.Klass_statmethod(a)
instead of:
class Klass(object):
...
statmethod = staticmethod(_example.Klass_statmethod)
- Modernise wrappers for static methods to use decorator syntax - @staticmethod.
- Add missing runtime test for static class methods and using the actual
class method.
copy_string() is a macro in the OCaml C API, so rename the function
to copy_str(). Add a runtime test.
The minherit runtime test was fixed by b64d685.
Use the proper syntax for accessing member variables in
unions_runme.ml
Add runtime tests for abstract_access, abstract_typedef,
abstract_typedef2, abstract_virtual, aggregate, cast_operator, and
constover. The aggregate and cast_operator tests are based on the
corresponding ruby tests, and the rest are based on python tests.
Use the [member-variable] syntax in using_protected_runme.ml as
required by the OCaml module's documentation and implementation.
Fix the return type for vec_write() in example.h in the OCaml stl
example.
In classHandler(), assign sym:name to the classname global so that it
can be used in membervariableHandler().
Add a small runme test for li_std_vector.
Use swigp4 when compiling the runme tests.
Name the output executable "runme" in the examples.
Replace use of "foolib" in the string_from_ptr example.
Fix a warning in the std_vector example.
Add strings_test to Examples/ocaml/check.list.
Disable two tests that were causing the OCaml test suite to fail.
Add `membervariableHandler()` to the `OCAML` class in ocaml.cxx (it is
partly based on the code in python.cxx and octave.cxx).
In Lib/ocaml/class.swg, wrapped classes/structs were not being added
to `class_master_list`. This is fixed by adding a call to
`register_class_byname`.
Add a unit test in the form of struct_value_runme.ml.
Test added to check fixes for:
- Issue #948 and issue #1019 and issue #1273 - raw string delimiters
not being stripped off
- Issue #538 - Ruby support for "docstring" feature
Update some of the OCaml examples so that they run successfully with
`make check-ocaml-examples` (important for the CI). Some of the
examples were written to depend on passed arguments.
Temporarily disable the broken std_string example.
* typecheck-null-nonpointers:
Fix overloading for non-pointers and NULL - MzScheme
Overloading for non-pointers and NULL - Chicken
Fix overloading for non-pointers and NULL - Scilab
Fix overloading for non-pointers and NULL - R
Fix overloading for non-pointers and NULL - Php
Fix overloading for non-pointers and NULL - Octave
Fix overloading for non-pointers and NULL - Lua
Overloading for non-pointers and NULL - Javascript
Fix overloading for non-pointers and NULL - Guile
Fix overloading for non-pointers and NULL - Tcl
Fix overloading for non-pointers and NULL - Perl
Fix overloading for non-pointers and NULL - Ruby
Add test for overloading and NULL
Correct Python implicitconv code
Fix typecheck typemaps for non-pointers and NULL
Overloading support for Javascript is generally incomplete as there are
no typecheck typemaps, so the overloading and NULL support added here
doesn't work and won't work until the typecheck typemaps are
implemented.
This is one of the steps needed to fix the OCaml test suite.
In addition, disable the creation of toplevels by default in the OCaml
examples (toplevels are currently broken).
The typecheck typemaps succeed for non pointers (SWIGTYPE, SWIGTYPE&,
SWIGTYPE&&) when the equivalent to C NULL is passed from the target
language. This commit implements a fix for Python to not accept a Python
None for non-pointer types.
Issue #1202
* java-director-thread-name:
Add changes entry for setting Java thread name
Increased Java thread name size.
Java directors - more generic thread name setting
Use prctl method to get thread names, which is available on all NDK versions
Actually, pthread_getname_np is only available in recent versions of Android (API level >= 26).
Set thread name when attaching to Android JVM in SWIG Java director