fix li_std_except.i test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7905 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
b66f1e672b
commit
cf77325c3c
4 changed files with 38 additions and 20 deletions
14
SWIG/Lib/csharp/std_except.i
Normal file
14
SWIG/Lib/csharp/std_except.i
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
%include <std/std_except.i>
|
||||
|
||||
// Typemaps used by the STL wrappers that throw exceptions.
|
||||
// These typemaps are used when methods are declared with an STL exception specification, such as
|
||||
// size_t at() const throw (std::out_of_range);
|
||||
|
||||
%typemap(throws, canthrow=1) std::out_of_range %{
|
||||
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, $1.what());
|
||||
return $null; %}
|
||||
|
||||
%typemap(throws, canthrow=1) std::invalid_argument %{
|
||||
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, $1.what(), "");
|
||||
return $null; %}
|
||||
|
||||
9
SWIG/Lib/java/std_except.i
Normal file
9
SWIG/Lib/java/std_except.i
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
%include <std/std_except.i>
|
||||
|
||||
// Typemaps used by the STL wrappers that throw exceptions.
|
||||
// These typemaps are used when methods are declared with an STL exception specification, such as
|
||||
// size_t at() const throw (std::out_of_range);
|
||||
|
||||
%typemap(throws) std::out_of_range %{
|
||||
SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, $1.what());
|
||||
return $null; %}
|
||||
|
|
@ -1,20 +1,3 @@
|
|||
// Typemaps used by the STL wrappers that throw exceptions.
|
||||
// These typemaps are used when methods are declared with an STL exception specification, such as
|
||||
// size_t at() const throw (std::out_of_range);
|
||||
|
||||
#if defined(SWIGJAVA)
|
||||
%typemap(throws) std::out_of_range %{
|
||||
SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, $1.what());
|
||||
return $null; %}
|
||||
#elif defined(SWIGCSHARP)
|
||||
%typemap(throws, canthrow=1) std::out_of_range %{
|
||||
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, $1.what());
|
||||
return $null; %}
|
||||
%typemap(throws, canthrow=1) std::invalid_argument %{
|
||||
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, $1.what(), "");
|
||||
return $null; %}
|
||||
#else
|
||||
%include <exception.i>
|
||||
%typemap(throws) std::out_of_range %{
|
||||
SWIG_exception(SWIG_IndexError, $1.what()); %}
|
||||
#endif
|
||||
%{
|
||||
#include <stdexcept>
|
||||
%}
|
||||
|
|
|
|||
12
SWIG/Lib/std_except.i
Normal file
12
SWIG/Lib/std_except.i
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
%include <std/std_except.i>
|
||||
|
||||
// Typemaps used by the STL wrappers that throw exceptions.
|
||||
// These typemaps are used when methods are declared with an STL
|
||||
// exception specification, such as
|
||||
//
|
||||
// size_t at() const throw (std::out_of_range);
|
||||
//
|
||||
|
||||
%include <exception.i>
|
||||
%typemap(throws) std::out_of_range %{ SWIG_exception(SWIG_IndexError, $1.what()); %}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue