summaryrefslogtreecommitdiff
path: root/Lib/java
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2016-02-09 07:02:42 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2016-02-09 07:02:42 +0000
commitf82efac231941ba6220f5f40d9adaf6ba23f8099 (patch)
treed18126e59827125f642d21e12e8029c4d973b1b6 /Lib/java
parentb0fd270e54de7467d186fdf686d8f5097d372b47 (diff)
downloadswig-f82efac231941ba6220f5f40d9adaf6ba23f8099.tar.gz
interface macro changes to support templates
The C++ type must be last in the argument list to support templates with multiple arguments which are separated by commas. Affects DECLARE_INTERFACE and DECLARE_INTERFACE_RENAME.
Diffstat (limited to 'Lib/java')
-rw-r--r--Lib/java/feature_interface.i10
1 files changed, 5 insertions, 5 deletions
diff --git a/Lib/java/feature_interface.i b/Lib/java/feature_interface.i
index 9ae93b2e7..e6dd9ba27 100644
--- a/Lib/java/feature_interface.i
+++ b/Lib/java/feature_interface.i
@@ -1,4 +1,4 @@
-%define DECLARE_INTERFACE_(CTYPE, INTERFACE, IMPL)
+%define DECLARE_INTERFACE_(INTERFACE, IMPL, CTYPE...)
%feature("interface", name = "INTERFACE", cptr = #INTERFACE ## "_SWIGInterfaceUpcast") CTYPE;
%typemap(jtype, nopgcpp="1") CTYPE, CTYPE *, CTYPE *const&, CTYPE [], CTYPE & "long"
%typemap(jstype) CTYPE, CTYPE *, CTYPE *const&, CTYPE [], CTYPE & "INTERFACE"
@@ -20,12 +20,12 @@
SWIG_JAVABODY_PROXY(public, protected, CTYPE)
%enddef
-%define DECLARE_INTERFACE_RENAME(CTYPE, INTERFACE, IMPL)
+%define DECLARE_INTERFACE_RENAME(INTERFACE, IMPL, CTYPE...)
%rename (IMPL) CTYPE;
-DECLARE_INTERFACE_(CTYPE, INTERFACE, IMPL)
+DECLARE_INTERFACE_(INTERFACE, IMPL, CTYPE)
%enddef
-%define DECLARE_INTERFACE(CTYPE, INTERFACE)
-DECLARE_INTERFACE_(CTYPE, INTERFACE, CTYPE)
+%define DECLARE_INTERFACE(INTERFACE, CTYPE...)
+DECLARE_INTERFACE_(INTERFACE, CTYPE, CTYPE)
%enddef