diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2017-11-17 08:00:46 +0000 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2017-11-29 20:31:55 +0000 |
commit | 923091da13dcc572b5acf4d167d57c7e8fbf550f (patch) | |
tree | 33fb780c3b3faeef850392f26210053ac58398a3 /Lib/perl5 | |
parent | 077bb0b04fdb644af65dc83973137cf5dbbb9d5a (diff) | |
download | swig-923091da13dcc572b5acf4d167d57c7e8fbf550f.tar.gz |
Changes to use common DirectorException class
Add director.swg for Go as was completely absent.
This is just the start of a common exception handling approach to directors.
An exception thrown in a Java director method will be propogated back to
Java via a C++ DirectorException.
DirectorException throws typemap for Java is fully working, all other languages need work.
DirectorException throws typemap for Perl added just to fix compilation errors.
Add director_exception_catches test.
Diffstat (limited to 'Lib/perl5')
-rw-r--r-- | Lib/perl5/perltypemaps.swg | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Lib/perl5/perltypemaps.swg b/Lib/perl5/perltypemaps.swg index ffec5eaf1..a86d3ad54 100644 --- a/Lib/perl5/perltypemaps.swg +++ b/Lib/perl5/perltypemaps.swg @@ -71,6 +71,10 @@ /* raise exception */ %define %raise(obj, type, desc) sv_setsv(get_sv("@", GV_ADD), obj); SWIG_fail %enddef +/* For directors to raise/throw the original exception */ +%typemap(throws) Swig::DirectorException +%{ sv_setsv(ERRSV, $1.getNative()); SWIG_fail; %} + /* Include the unified typemap library */ %include <typemaps/swigtypemaps.swg> |