Commit graph

19,279 commits

Author SHA1 Message Date
William S Fulton
f112a0b610 Correct regex example comment 2016-02-29 07:55:01 +00:00
William S Fulton
9f0e7885ce Properly hide unexposed naming functions in naming.c 2016-02-29 07:11:05 +00:00
William S Fulton
64bd1c5d39 C++ namespace testing for interface feature 2016-02-26 18:17:20 +00:00
William S Fulton
3b8f00f774 interface feature - SWIG_JAVABODY_PROXY does not need to be overridden 2016-02-26 18:17:20 +00:00
William S Fulton
2f1c34be58 Support namespaces and nspace with the interface feature for C# 2016-02-26 18:17:20 +00:00
William S Fulton
50fec04759 Support namespaces and nspace with the interface feature for Java 2016-02-26 18:17:14 +00:00
William S Fulton
31b22ff6ac Cosmetic test case changes 2016-02-26 07:35:18 +00:00
William S Fulton
1737fc9b9b Add Java premature garbage collection prevention parameter (pgcpp) to interface feature
pgcpp was turned off but it is still needed for the interface feature
to prevent premature garbage collection of the proxy class being passed
into the C++ layer.
2016-02-24 08:30:10 +00:00
Emmanuel Julien
2730ac9c8f Work around a limitation of the Python binding generator related to the += family of operators. 2016-02-23 11:26:33 +01:00
William S Fulton
e7bb3afa0c Create javainterfacecode and csinterfacecode typemaps
The interface feature is no longer hard coded and can
be controlled by a user via these new typemaps.
2016-02-23 07:30:00 +00:00
William S Fulton
66344adf9e Merge branch 'interfaces' of github.com:/swig/swig into interfaces
* 'interfaces' of github.com:/swig/swig:
  IntPtr & HandleRef absolute names used
  virtual/override fix
2016-02-23 07:10:15 +00:00
Emmanuel Julien
8df7c5fb7e Fix Python 3 division member operator when -builtin is not used. 2016-02-22 16:30:24 +01:00
Emmanuel Julien
cf370fb504 Fix class member division operator.
Define the nb_divide/nb_inplace_divide slots in the interface and use it them as nb_divide/nb_inplace_divide for Python 2.x and as nb_true_divide/nb_inplace_trus_divide for Python 3.x.

The Python 3.x nb_floor_divide/nb_inplace_floor_divide slots (operator // in Python) are not populated by the interface.
2016-02-22 14:54:19 +01:00
William S Fulton
fa5f3abf4d Correct testcase warning fix 2016-02-22 07:06:47 +00:00
William S Fulton
1a26710106 test-suite warning fixes 2016-02-21 21:36:58 +00:00
William S Fulton
1e7c04c1eb Duplicate tests that are run twice as both C and C++ tests to fix parallel make: li_cdata_carrays 2016-02-21 21:36:58 +00:00
William S Fulton
7e1d95de09 Move subdirectory .gitignore to top level 2016-02-21 21:36:58 +00:00
William S Fulton
0ad7541d03 Update .gitignore for Go 2016-02-21 21:36:58 +00:00
William S Fulton
bbc06c5254 Don't run some tests twice 2016-02-21 21:36:43 +00:00
William S Fulton
ed1074829f Duplicate tests that are run twice as both C and C++ tests to fix parallel make: typedef_struct 2016-02-21 19:24:27 +00:00
William S Fulton
155e31626c Duplicate tests that are run twice as both C and C++ tests to fix parallel make: overload_extend 2016-02-21 19:24:11 +00:00
William S Fulton
0bd41dc14d rename overload_extendc testcase 2016-02-21 18:04:04 +00:00
William S Fulton
a00b4f4463 Duplicate tests that are run twice as both C and C++ tests to fix parallel make: li_cpointer 2016-02-21 18:04:04 +00:00
William S Fulton
819bd9c97e Duplicate tests that are run twice as both C and C++ tests to fix parallel make: li_cdata 2016-02-21 18:04:04 +00:00
William S Fulton
9600c95234 Duplicate tests that are run twice as both C and C++ tests to fix parallel make: li_carrays 2016-02-21 18:04:04 +00:00
William S Fulton
78b113558f Duplicate tests that are run twice as both C and C++ tests to fix parallel make: keyword_rename 2016-02-21 18:04:04 +00:00
William S Fulton
bc3bf51af2 Duplicate tests that are run twice as both C and C++ tests to fix parallel make: empty 2016-02-21 18:03:14 +00:00
Emmanuel Julien
6fca1ee0b0 Remove the PY3BUILTIN switch as its behavior can be achieved with the existing SWIG_FEATURES=-builtin switch. 2016-02-19 12:16:00 +01:00
Emmanuel Julien
779ed2cd7a Implement the operator overload test suite for Python.
This suite fails on Python 3 (with and without -builtin) due to the following issues:

- Operator / is mapped to the div slot which is now truediv in Python3 (see PR #136 for a WIP fix).
- Operators +=, -=, *= and probably others assign the method return type (void) to the object they are applied on. A workaround is to return *this from the affected operators.
2016-02-19 00:18:39 +01:00
Olly Betts
611bbe7ddf [Python] Add missing keywords 'as' and 'with' to pythonkw.swg. 2016-02-17 14:19:08 +13:00
Olly Betts
c2228de096 Replace dead URLs with working equivalents 2016-02-17 14:18:21 +13:00
Olly Betts
4e9203acc3 Eliminate doc reference to Python 1.4 2016-02-17 14:18:21 +13:00
Olly Betts
f401fd7360 Merge pull request #613 from pjohangustavsson/patch-2
swiglabels.swg: added check if __GNUC__ is defined
2016-02-16 22:48:09 +13:00
Vladimir Kalinin
1ba81241d7 IntPtr & HandleRef absolute names used 2016-02-14 03:09:12 +03:00
Vladimir Kalinin
682991762c virtual/override fix 2016-02-14 03:07:53 +03:00
William S Fulton
c33b4dc34e Improve interface feature checks
Use common code for missing feature:interface:name attribute checks
Check that all base classes are also marked as interfaces
2016-02-13 13:03:40 +00:00
Johan Gustavsson
628e9a79f6 swiglabels.swg: added check if __GNUC__ is defined
It makes sense to check if the preprocessor definition __GNUC__ is defined before using it as a value.
2016-02-13 13:49:07 +01:00
William S Fulton
67f38e8124 Add another interface test selecting just one base as an interface 2016-02-12 22:38:58 +00:00
William S Fulton
645147a5b2 Comments added to interface feature implementation and cosmetic code changes 2016-02-12 20:23:35 +00:00
William S Fulton
d0fb0ae801 Add overloading tests for interface feature 2016-02-12 20:22:37 +00:00
William S Fulton
fc4be01106 Refactor multiple inheritance warnings
Slightly simplify choosing single base class when handling
multiple inheritance and make consistent across more languages.
Modula3 multiple inheritance warnings now warn for all bases
2016-02-12 08:45:22 +00:00
Vladimir Kalinin
5768d87deb director generation fixes
Conflicts:
	Lib/java/feature_interface.i
	Source/Modules/csharp.cxx
	Source/Modules/java.cxx
2016-02-12 07:09:17 +00:00
William S Fulton
ccd46ec560 interface feature updates for C# latest on master
Updates for C# fully qualified names in C# layer
More Corrections for C# single output file option (-outfile)
2016-02-11 20:56:33 +00:00
William S Fulton
212300c62b interfaces branch merge fixes 2016-02-11 20:21:25 +00:00
William S Fulton
abccc13a4a Merge branch 'interfaces' into interfaces2
* interfaces:
  Remove unnecessary interfaces for concrete classes
  cosmetic code formatting changes
  Correct interface name attributes that are internal
  interface macro changes to support templates
  Test non-virtual method in Derived classes
  interface tests for a most derived class inheriting the interfaces further up the chain
  Rename GetCPtr/getCPtr to SWIGInterfaceUpcast
  interface feature support for const ref pointers (used by the STL)
  Interface feature support for arrays
  More interface feature testing for return values
  interface feature support for passing by value
  interface feature support for references
  Multiple inheritance parameters as pointers testing
  Simplify multiple_inheritance_abstract Java runtime test
  Warning fixes
  Rename test functions in multiple_inheritance_abstract testcase
  Formatting fixes in generated code for interface feature
  Cosmetic spacing changes in test case
  interface feature typemap corrections to handle NULL pointers
  interface test added
  javadirectorin fix
  interface implementation visibility
  interface inheritance (2)
  interface inheritance (1)
  feature:interface ported to Java
  propagate non-abstract "interface" base methods (3)
  propagate non-abstract "interface" base methods (2)
  propagate non-abstract "interface" base methods (1)
  namespace support added GetCPtr now returns HandleRef "feature:interface:name" is now mandatory attribute
  interfaces (1)
  interfaces (1)

Conflicts:
	Source/Modules/csharp.cxx
	Source/Modules/java.cxx
2016-02-11 19:37:31 +00:00
William S Fulton
3931b5800c Remove unnecessary interfaces for concrete classes
Add Java test for checking expected base and interfaces are generated (to be expanded further)
In the example, E was previously implementing IA, IB, IC. Now it doesn't implement any.
C# virtual/override still to be fixed for this test case
2016-02-10 20:54:39 +00:00
William S Fulton
993214872f cosmetic code formatting changes 2016-02-09 07:39:46 +00:00
William S Fulton
dd6af222f4 Correct interface name attributes that are internal
Attributes with 'feature:' prefix are reserved for %feature, not internal usage.
2016-02-09 07:22:07 +00:00
William S Fulton
f82efac231 interface macro changes to support templates
The C++ type must be last in the argument list to support templates with
multiple arguments which are separated by commas.
Affects DECLARE_INTERFACE and DECLARE_INTERFACE_RENAME.
2016-02-09 07:02:42 +00:00
William S Fulton
b0fd270e54 Test non-virtual method in Derived classes 2016-02-08 20:56:28 +00:00