test using declaration for methods with an exception specification
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7214 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
ad46f2ef3e
commit
fcf2afc3a9
2 changed files with 40 additions and 0 deletions
32
Examples/test-suite/java/using_pointers_runme.java
Normal file
32
Examples/test-suite/java/using_pointers_runme.java
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
|
||||||
|
import using_pointers.*;
|
||||||
|
|
||||||
|
public class using_pointers_runme {
|
||||||
|
|
||||||
|
static {
|
||||||
|
try {
|
||||||
|
System.loadLibrary("using_pointers");
|
||||||
|
} catch (UnsatisfiedLinkError e) {
|
||||||
|
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
|
||||||
|
System.exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String argv[])
|
||||||
|
{
|
||||||
|
FooBar f = new FooBar();
|
||||||
|
boolean pass = true;
|
||||||
|
try {
|
||||||
|
f.exception_spec(1);
|
||||||
|
pass = false;
|
||||||
|
} catch (RuntimeException e) {
|
||||||
|
}
|
||||||
|
if (!pass) throw new RuntimeException("Missed exception 1");
|
||||||
|
try {
|
||||||
|
f.exception_spec(2);
|
||||||
|
pass = false;
|
||||||
|
} catch (RuntimeException e) {
|
||||||
|
}
|
||||||
|
if (!pass) throw new RuntimeException("Missed exception 2");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -6,12 +6,20 @@
|
||||||
int x;
|
int x;
|
||||||
virtual ~Foo() { }
|
virtual ~Foo() { }
|
||||||
virtual Foo* blah() { return this; }
|
virtual Foo* blah() { return this; }
|
||||||
|
virtual Foo* exception_spec(int what_to_throw) throw (int, const char *) {
|
||||||
|
int num = 10;
|
||||||
|
const char *str = "exception message";
|
||||||
|
if (what_to_throw == 1) throw num;
|
||||||
|
else if (what_to_throw == 2) throw str;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class FooBar : public Foo {
|
class FooBar : public Foo {
|
||||||
public:
|
public:
|
||||||
using Foo::blah;
|
using Foo::blah;
|
||||||
using Foo::x;
|
using Foo::x;
|
||||||
|
using Foo::exception_spec;
|
||||||
};
|
};
|
||||||
|
|
||||||
%}
|
%}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue