Add missing Java throws clause for interfaces when using the %interface family of macros.

Fixes #1156.
This commit is contained in:
William S Fulton 2018-01-12 07:34:32 +00:00
commit 49af1907b8
4 changed files with 48 additions and 2 deletions

View file

@ -135,6 +135,23 @@ JAVAEXCEPTION(FeatureTest::staticMethod)
};
%}
%include <swiginterface.i>
%interface_impl(InterfaceTest);
JAVAEXCEPTION(imethod)
%inline %{
struct InterfaceTest {
virtual void imethod(bool raise) = 0;
};
struct InterfaceTestImpl : InterfaceTest {
void imethod(bool raise) {
if (raise)
throw MyException("raise message");
}
};
%}
// Mixing except feature and typemaps when both generate a class for the throws clause
%typemap(in, throws="ClassNotFoundException") int both {
$1 = (int)$input;