summaryrefslogtreecommitdiff
path: root/Lib/java
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2017-01-24 20:04:20 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2017-01-24 23:47:30 +0000
commit8a4ab380a16b2bbf520ad62d00d519d58a94ff5e (patch)
tree6651d8ba80603bf373b7e6205472635f05ab1b78 /Lib/java
parent2abdb50f60b4390acc2263af385b72290c5b31ea (diff)
downloadswig-8a4ab380a16b2bbf520ad62d00d519d58a94ff5e.tar.gz
Java director typemaps and test tweak
- Fix java_director_typemaps test name clash ensuring parallel tests work - Replace assert with code that is guaranteed to run - Nicer generated code from directorargout typemap
Diffstat (limited to 'Lib/java')
-rw-r--r--Lib/java/java.swg5
-rw-r--r--Lib/java/typemaps.i8
2 files changed, 6 insertions, 7 deletions
diff --git a/Lib/java/java.swg b/Lib/java/java.swg
index cd61a2a94..d173cb627 100644
--- a/Lib/java/java.swg
+++ b/Lib/java/java.swg
@@ -1366,9 +1366,8 @@ SWIG_PROXY_CONSTRUCTOR(true, true, SWIGTYPE)
}
Swig::LocalRefGuard $1_refguard(jenv, $input);
}
-%typemap(directorargout) (char *STRING, size_t LENGTH) {
- if ($input && $1) (jenv)->GetByteArrayRegion($input, 0, (jsize)$2, (jbyte *)$1);
-}
+%typemap(directorargout, noblock=1) (char *STRING, size_t LENGTH)
+{ if ($input && $1) JCALL4(GetByteArrayRegion, jenv, $input, 0, (jsize)$2, (jbyte *)$1); }
%typemap(javadirectorin, descriptor="[B") (char *STRING, size_t LENGTH) "$jniinput"
%apply (char *STRING, size_t LENGTH) { (char *STRING, int LENGTH) }
diff --git a/Lib/java/typemaps.i b/Lib/java/typemaps.i
index 846875f19..4170915b3 100644
--- a/Lib/java/typemaps.i
+++ b/Lib/java/typemaps.i
@@ -372,10 +372,10 @@ There are no char *INOUT typemaps, however you can apply the signed char * typem
{ JCALL3(Release##JAVATYPE##ArrayElements, jenv, $input, (JNITYPE *)$1, 0); }
%typemap(directorin,descriptor=JNIDESC) TYPE &INOUT %{
- $input = JCALL1(New##JAVATYPE##Array, jenv, 1);
- JNITYPE $1_jvalue = (JNITYPE)$1;
- JCALL4(Set##JAVATYPE##ArrayRegion, jenv, $input, 0, 1, &$1_jvalue);
- Swig::LocalRefGuard $1_refguard(jenv, $input); %}
+ $input = JCALL1(New##JAVATYPE##Array, jenv, 1);
+ JNITYPE $1_jvalue = (JNITYPE)$1;
+ JCALL4(Set##JAVATYPE##ArrayRegion, jenv, $input, 0, 1, &$1_jvalue);
+ Swig::LocalRefGuard $1_refguard(jenv, $input); %}
%typemap(directorin,descriptor=JNIDESC) TYPE *INOUT %{
$input = JCALL1(New##JAVATYPE##Array, jenv, 1);