Olly Betts
a0174ea7fe
php: Fix testcase li_boost_shared_ptr_bits
2021-04-04 18:58:24 +12:00
Olly Betts
40da8bcbb6
php: Wrap classes using only swig_object_wrapper
...
We no longer use PHP resources to wrap classes, and the proxy classes no
longer has a _cPtr property.
2021-04-04 07:45:20 +12:00
Olly Betts
0267ee374b
Merge branch 'master' into gsoc2017-php7-classes-via-c-api
2021-04-02 08:13:10 +13:00
Olly Betts
18bc3e287b
php: Avoid double underscore in generated code
...
These are reserved by the C++ standard, but we were generating them
in the le_swig__... names.
2021-04-02 08:07:44 +13:00
Olly Betts
d2a0956766
Remove NULL check which can never be NULL
...
A pointer to a struct member can't be NULL!
2021-04-02 07:59:35 +13:00
Olly Betts
a1abc692d3
Eliminate per-class dtor function
...
These are all the same, and the NULL check performed is done inside
zend_objects_destroy_object() anyway, so we can just set the dtor
to zend_objects_destroy_object (which is what in-tree PHP extensions
do.)
2021-04-02 07:58:08 +13:00
Olly Betts
c467a66668
Remove debug code
2021-04-01 14:40:32 +13:00
Olly Betts
5838f10aa0
wrap fake class constants via C API
2021-04-01 14:40:32 +13:00
Olly Betts
43457690ac
Eliminate another global variable
2021-03-31 11:10:34 +13:00
Olly Betts
46ef0eb9a1
Fix value of $source typemap parameter
...
This is only present for ancient compatibility so nothing actually
tests it works.
2021-03-31 10:57:34 +13:00
Olly Betts
3b1cc00566
Eliminate 3 List variables
...
Rather than building up lists of classes and details about them to
generate from at the end, just generate into a new String variable as we
go along.
2021-03-31 10:55:26 +13:00
Olly Betts
d24e09c57d
Remove now-unused variables and code to set them
2021-03-31 05:02:13 +13:00
Olly Betts
904f5a65d8
Merge branch 'master' into gsoc2017-php7-classes-via-c-api
2021-03-31 04:53:40 +13:00
Olly Betts
2392f6146a
Remove variables which are set but never used
2021-03-31 04:39:18 +13:00
Olly Betts
c863ca8b1f
Use zstring access macros
...
These are likely to be more future-proof than accessing struct members
directly.
2021-03-29 18:18:37 +13:00
Olly Betts
5156ad4f7b
Remove unnecessary NULL check
...
SWIG_remove() calls either free() or delete, both of which handle
a NULL pointer.
2021-03-29 17:45:03 +13:00
Olly Betts
979d48b0b4
Remove obsolete FIXME
...
We no longer have the PHP code wrappers.
2021-03-29 17:41:01 +13:00
Olly Betts
3f1286ba4f
Use standard SWIG overload dispatch
...
Instead of having a slightly modified PHP-specific variant of
Swig_overload_dispatch we now advance the ParmList over the this
pointer.
2021-03-29 17:41:01 +13:00
Olly Betts
7142acbf93
Fix whitespace oddities
2021-03-29 17:29:59 +13:00
Olly Betts
0e7d6a4c8d
More PHP8 compatibility fixes
2021-03-29 09:37:44 +13:00
Olly Betts
73a149200f
Remove more code which is no longer used
2021-03-28 19:47:16 +13:00
Olly Betts
1c5573d0d0
Remove code which is no longer used
2021-03-28 08:54:24 +13:00
Olly Betts
c58149bc45
Simplify printing code a little
...
Remove unused Printf parameter, and use Printv where it's more readable.
2021-03-27 19:59:30 +13:00
Olly Betts
dfa5353f27
Eliminate extras hash table
...
This was used to store custom properties, but we can just ask the PHP
object to store them like it normally would, after checking for our
custom pseudo-properties.
2021-03-27 19:57:37 +13:00
Olly Betts
799cb68a8a
Use ZEND_THIS instead of getThis()
...
getThis(z) checks that z is a PHP object and returns ZEND_THIS if it
is, and NULL otherwise. In all our uses we know that z is a PHP object
(and we'd try to dereference NULL if it were returned!)
2021-03-27 19:51:24 +13:00
Olly Betts
232308b494
Drop unnecessary casts to swig_object_wrapper*
2021-03-27 19:49:49 +13:00
Olly Betts
c03679acef
Improve how we allocate swig_object_wrapper
...
Use zend_object_alloc() and put the zend_object member last so that
Zend can put object properties after it.
2021-03-26 17:15:34 +13:00
Olly Betts
4aff93942a
Improve arginfo generation
...
Fixes some failing examples and testcases.
2021-03-26 15:34:29 +13:00
Olly Betts
f77113ea71
php: Eliminate SWIG_ZEND_NAMED_FE
...
It existed to work around const-correctness issues in older versions of
PHP's C API. It's conceivable user code might be using it, but unlikely
and the switch to creating classes via the API is a natural time for a
compatibility break.
2021-03-26 13:58:02 +13:00
Olly Betts
2ba0f82720
Merge branch 'master' into gsoc2017-php7-classes-via-c-api
2021-03-26 12:00:59 +13:00
Olly Betts
b840911410
Remove outdated FIXME/TODO from php.cxx
...
See #1529
2021-03-26 11:18:07 +13:00
Olly Betts
8ded9d8dae
Merge branch 'master' into gsoc2017-php7-classes-via-c-api
2021-03-25 17:45:17 +13:00
Olly Betts
d15fe23c5f
Merge branch 'gsoc2017-php7-classes-via-c-api' of https://github.com/nihal95/swig into gsoc2017-php7-classes-via-c-api
2021-03-25 16:25:33 +13:00
William S Fulton
90cdbee6a6
Python -builtin fix wrapping constructors with varargs
...
Fix compilation error when using -builtin and wrapping varargs in constructors
Closes #1942
2021-03-23 23:57:49 +00:00
Olly Betts
786efd0ae0
Eliminate irrelevant formatting differences from master
2021-03-24 11:59:25 +13:00
Olly Betts
3584c7d49c
Add initial support for PHP8
...
Testcase director_overload2 is failing, but the rest of the testsuite
passes.
2021-03-19 19:30:27 +13:00
Olly Betts
2e7da86b2c
php: Fix overloaded directed methods with non-void return
...
We were treating such methods like constructors and assigning to the
internal _cPtr, which just seems bizarrely wrong.
Fixes #1900
2021-03-18 10:58:44 +13:00
Michel Zou
ee8d47cec4
Fix few unused variable warnings
2021-03-07 11:20:31 +00:00
William S Fulton
fe676f840a
Merge branch 'director-return-const-pointer'
...
* director-return-const-pointer:
Put test in alphabetical order
Perform proper spacing in director method declarations
2020-10-07 22:26:25 +01:00
William S Fulton
8889635683
Merge pull request #1859 from adelva1984/no-host-exceptions
...
javascript: replace exceptions with SWIG_exit
2020-10-07 22:09:01 +01:00
William S Fulton
e71f781140
Apply suggestions from code review
...
Print errors to stderr instead of stdout
2020-10-07 22:06:47 +01:00
William S Fulton
c1b004f4fa
Add access modifier support for interface feature
...
Add ability to change the modifiers for the C# and Java
interface generated when using the %interface macros.
For C# use the 'csinterfacemodifiers' typemap.
For Java use the 'javainterfacemodifiers' typemap.
For example:
%typemap(csinterfacemodifiers) X "internal interface"
Closes #1874
2020-09-25 18:54:25 +01:00
William S Fulton
b018c32f9d
Fix crashes in swig_connect_director during director class construction.
...
Occurs when using the director class from multiple threads - a race condition
initialising block scope static variables.
Block scope static variables are guaranteed to be thread safe in C++11,
so the fix is guaranteed when using C++11. However, most modern compilers
also fix it when using C++03/C++98.
Closes #1862
2020-08-28 18:23:47 +01:00
William S Fulton
e774fe5cfd
Python 3.9 support for -builtin
...
Add missing initializer for member ‘_heaptypeobject::ht_module’ to complete
Python 3.9 support.
2020-08-27 20:22:39 +01:00
Alistair Delva
4d844a8dc2
javascript: replace exceptions with SWIG_exit
...
When building SWIG for Android, there is no support for C++ exceptions.
In the cases there is "Illegal state", it seems more like an internal
error, so we can replace the throw calls with a debug print and exit
immediately.
Closes #1858
2020-08-13 07:55:35 -07:00
Thomas Reitmayr
c259702314
Perform proper spacing in director method declarations
...
If a director method returns a const pointer, eg. 'int *const', then in its
method declaration a space has to be inserted between 'const' and the
method name.
This fixes swig#1810.
2020-06-20 12:14:42 +02:00
William S Fulton
ee7eb6b58a
Merge branch 'directors-comparison-operators'
...
* directors-comparison-operators:
Use %rename
Fix wrapping of virtual comparison operators with directors
2020-06-14 22:23:57 +01:00
William S Fulton
991c2afe11
Merge branch 'python-doxygen-quotes'
...
* python-doxygen-quotes:
Fix generated Python code for Doxygen comments with triple quotes
Fix generated Python code for Doxygen comments ending with quote
2020-06-07 10:23:33 +01:00
Zackery Spytz
4e57c5536d
Fix wrapping of virtual comparison operators with directors
...
Closes #1642 .
2020-06-05 10:25:20 -06:00
Noah Stegmaier
cf7802c5cc
escape phony targets as well
2020-06-04 12:24:08 +02:00