swig/Source/Modules
William S Fulton 973590ff91 R rtypecheck typemaps
Further switch to use rtypecheck typemaps instead of hard coded logic.
The full switch to typemaps is deferred until swig-4.2 as it can't be fully
backwards compatible. For now a warning is provided to help the
transition. It provides the full typemap that should be placed into
a user's interface file, for example:

%typemap("rtype") int32_t * "integer"
void testmethod(int32_t * i);
void testmethod();

If there is no rtypecheck typemap for int32_t *, the warning shown is:

example.i:7: Warning 750: Optional rtypecheck code is deprecated. Add the
following typemap to fix as the next version of SWIG will not work without it:
%typemap("rtypecheck") int32_t * %{ (is.integer($arg) || is.numeric($arg)) %}

The warning is shown for any code that previously used "numeric", "integer" or
"character" for the rtype typemap. Copying the rtypecheck typemap as
shown into the user interface file will provide the appropriate fix and
the warning will disappear. This is important to do as swig-4.2 will
not be able to provide this helpful warning.
2022-11-05 08:40:26 +00:00
..
allocate.cxx Use https for swig.org links 2022-10-06 13:16:39 +13:00
contract.cxx Use https for swig.org links 2022-10-06 13:16:39 +13:00
csharp.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
d.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
directors.cxx Improve director unwrap detection for the return type 2022-10-10 08:45:26 +01:00
emit.cxx Use https for swig.org links 2022-10-06 13:16:39 +13:00
go.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
guile.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
interface.cxx Fix -Wunused-variable warning 2022-10-24 09:34:10 +02:00
java.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
javascript.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
lang.cxx Use https for swig.org links 2022-10-06 13:16:39 +13:00
lua.cxx [lua] Run destructors of local C++ objects on SWIG_fail 2022-10-14 14:44:19 +13:00
main.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
mzscheme.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
nested.cxx Use https for swig.org links 2022-10-06 13:16:39 +13:00
ocaml.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
octave.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
overload.cxx Use https for swig.org links 2022-10-06 13:16:39 +13:00
perl5.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
php.cxx Visual C++ warning fixes 2022-10-24 18:43:31 +01:00
python.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
r.cxx R rtypecheck typemaps 2022-11-05 08:40:26 +00:00
README File move 2002-12-03 20:33:35 +00:00
ruby.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
scilab.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
swigmain.cxx Document that -php7 is for PHP 7 *or later* 2022-10-31 13:41:10 +13:00
swigmod.h Improve director unwrap detection for the return type 2022-10-10 08:45:26 +01:00
tcl8.cxx Cleanup SWIG_VERSION definition 2022-10-13 19:47:43 +01:00
typepass.cxx Use https for swig.org links 2022-10-06 13:16:39 +13:00
utils.cxx Use https for swig.org links 2022-10-06 13:16:39 +13:00
xml.cxx XML whitespace changes 2022-10-10 23:58:39 +01: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