swig/Source/Modules
Olly Betts c417250b4e [php] Allow testing if an object is SWIG-wrapped
Since the switch to wrapping classes using PHP's C API, we now
internally need to be able to tell if a PHP object is of or derived
from a class that is wrapped by SWIG so we know if we can offset the
zend_object pointer to get to the swig_object_wrapper.  If we try to
do this to an object which isn't wrapped by SWIG then we invoke C/C++
undefined behaviour (and typically get a segmentation fault).

This check is implemented by having a SWIG\wrapped empty interface which
we make all SWIG-wrapped classes implement simply so we can test for it
to detect such classes.

Fixes #2125
2022-01-20 14:42:02 +13:00
..
allocate.cxx Misc. typos 2018-05-17 10:04:23 -04:00
browser.cxx Add lambda functions to the symbol tables and add ability to suppress lambda warnings. 2013-02-04 20:05:34 +00:00
cffi.cxx Remove bogus reference to allegrocl:old-sym:name 2021-05-13 10:41:01 +12:00
contract.cxx Cosmetics/code beautification of nested class support 2013-11-29 07:29:58 +00:00
csharp.cxx Remove support for $source and $target 2021-04-30 10:20:14 +12:00
d.cxx Add some comments about shared_ptr upcast code 2020-01-24 19:46:39 +00:00
directors.cxx Merge branch 'director-return-const-pointer' 2020-10-07 22:26:25 +01:00
emit.cxx Remove support for $source and $target 2021-04-30 10:20:14 +12:00
go.cxx swig -go: improve _cgo_panic implementation 2021-09-16 10:29:48 -07:00
guile.cxx Remove support for $source and $target 2021-04-30 10:20:14 +12:00
interface.cxx Fix seg fault with %interface and using declarations 2017-08-21 18:34:51 +01:00
java.cxx Fix nspace warning message 2021-11-11 18:59:25 +00:00
javascript.cxx Fix typos 2021-11-17 07:07:02 +02:00
lang.cxx Use SWIG-specific for non-overloaded synthesized functions too 2021-11-09 23:35:30 +01:00
lua.cxx Remove support for $source and $target 2021-04-30 10:20:14 +12:00
main.cxx escape phony targets as well 2020-06-04 12:24:08 +02:00
mzscheme.cxx Remove support for $source and $target 2021-04-30 10:20:14 +12:00
nested.cxx Fix segmentation fault when top==NULL 2015-02-26 14:57:19 +13:00
ocaml.cxx Remove support for $source and $target 2021-04-30 10:20:14 +12:00
octave.cxx Remove support for $source and $target 2021-04-30 10:20:14 +12:00
overload.cxx Fix ODR violations 2021-09-20 15:04:51 +12:00
perl5.cxx [perl] Require at least Perl 5.8.0 2022-01-19 10:07:30 +13:00
php.cxx [php] Allow testing if an object is SWIG-wrapped 2022-01-20 14:42:02 +13:00
python.cxx %callback and Python class access for C++ static member functions fixes 2022-01-14 23:00:59 +00:00
r.cxx Fix ODR violations 2021-09-20 15:04:51 +12:00
README File move 2002-12-03 20:33:35 +00:00
ruby.cxx Fix ODR violations 2021-09-20 15:04:51 +12:00
scilab.cxx Remove support for $source and $target 2021-04-30 10:20:14 +12:00
swigmain.cxx Fix reading options files on platforms with unsigned char 2020-02-16 17:03:14 +01:00
swigmod.h Replace all exit() with SWIG_exit() 2019-07-31 00:08:49 +01:00
tcl8.cxx Remove support for $source and $target 2021-04-30 10:20:14 +12:00
typepass.cxx Add some comments about shared_ptr upcast code 2020-01-24 19:46:39 +00:00
utils.cxx Fix various comment and documentation typos 2017-08-13 18:04:33 +12:00
xml.cxx Update xml.cxx to return typenames (#777) 2016-09-27 15:15:47 +13:00

06/25/2002

This directory contains all of the SWIG language modules.  Many of these
modules contain code that dates back to SWIG1.0.  The module API has changed
a lot in the development releases so this is fairly messy.  We're working on
cleaning it up, but you'll have to bear with us until it's done.

-- Dave