Fix classes not being added into Java method's throws clause when %catches is used
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11584 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
4516c1d3f3
commit
c7b7078dd0
5 changed files with 22 additions and 3 deletions
|
|
@ -40,6 +40,16 @@ public class java_throws_runme {
|
|||
if (!pass)
|
||||
throw new RuntimeException("Test 2 failed");
|
||||
|
||||
// Check the exception class in the throw typemap
|
||||
pass = false;
|
||||
try {
|
||||
java_throws.catches_function(100);
|
||||
}
|
||||
catch (IllegalAccessException e) { pass = true; }
|
||||
|
||||
if (!pass)
|
||||
throw new RuntimeException("Test 3 failed");
|
||||
|
||||
// Check newfree typemap throws attribute
|
||||
try {
|
||||
TestClass tc = java_throws.makeTestClass();
|
||||
|
|
|
|||
|
|
@ -42,12 +42,16 @@ short full_of_exceptions(int num) {
|
|||
#if defined(_MSC_VER)
|
||||
#pragma warning(disable: 4290) // C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
|
||||
#endif
|
||||
void throw_spec_function(int value) throw (int) { throw (int)0; }
|
||||
bool throw_spec_function(int value) throw (int) { throw (int)0; }
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning(default: 4290) // C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
|
||||
#endif
|
||||
%}
|
||||
|
||||
%catches(int) catches_function(int value);
|
||||
%inline %{
|
||||
bool catches_function(int value) { throw (int)0; }
|
||||
%}
|
||||
|
||||
// Check newfree typemap throws attribute
|
||||
%newobject makeTestClass;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue