consistent directout typemaps for all languages - $result used instead of $1 in C# and Java now

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9467 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2006-10-20 22:54:14 +00:00
commit 3c24cacfbd
14 changed files with 46 additions and 48 deletions

View file

@ -96,7 +96,7 @@
%{ $1 = $input ? true : false; %} %{ $1 = $input ? true : false; %}
%typemap(directorout) bool %typemap(directorout) bool
%{ $1 = $input ? true : false; %} %{ $result = $input ? true : false; %}
%typemap(csdirectorin) bool "$iminput" %typemap(csdirectorin) bool "$iminput"
%typemap(csdirectorout) bool "$cscall" %typemap(csdirectorout) bool "$cscall"
@ -129,7 +129,7 @@
unsigned long long, unsigned long long,
float, float,
double double
%{ $1 = ($1_ltype)$input; %} %{ $result = ($1_ltype)$input; %}
%typemap(directorin) bool "$input = $1;" %typemap(directorin) bool "$input = $1;"
%typemap(directorin) char "$input = $1;" %typemap(directorin) char "$input = $1;"
@ -194,7 +194,7 @@
/* char * - treat as String */ /* char * - treat as String */
%typemap(in) char * %{ $1 = ($1_ltype)$input; %} %typemap(in) char * %{ $1 = ($1_ltype)$input; %}
%typemap(out) char * %{ $result = SWIG_csharp_string_callback((const char *)$1); %} %typemap(out) char * %{ $result = SWIG_csharp_string_callback((const char *)$1); %}
%typemap(directorout, warning=SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG) char * %{ $1 = ($1_ltype)$input; %} %typemap(directorout, warning=SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG) char * %{ $result = ($1_ltype)$input; %}
%typemap(directorin) char * %{ $input = SWIG_csharp_string_callback((const char *)$1); %} %typemap(directorin) char * %{ $input = SWIG_csharp_string_callback((const char *)$1); %}
%typemap(csdirectorin) char * "$iminput" %typemap(csdirectorin) char * "$iminput"
%typemap(csdirectorout) char * "$cscall" %typemap(csdirectorout) char * "$cscall"
@ -212,7 +212,7 @@
%typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const bool & %typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const bool &
%{ static $*1_ltype temp; %{ static $*1_ltype temp;
temp = $input ? true : false; temp = $input ? true : false;
$1 = &temp; %} $result = &temp; %}
%typemap(csdirectorin) const bool & "$iminput" %typemap(csdirectorin) const bool & "$iminput"
%typemap(csdirectorout) const bool & "$cscall" %typemap(csdirectorout) const bool & "$cscall"
@ -247,7 +247,7 @@
const double & const double &
%{ static $*1_ltype temp; %{ static $*1_ltype temp;
temp = ($*1_ltype)$input; temp = ($*1_ltype)$input;
$1 = &temp; %} $result = &temp; %}
%typemap(directorin) const bool & "$input = $1_name;" %typemap(directorin) const bool & "$input = $1_name;"
%typemap(directorin) const char & "$input = $1_name;" %typemap(directorin) const char & "$input = $1_name;"
@ -321,7 +321,7 @@
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type $1_type", 0); SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type $1_type", 0);
return $null; return $null;
} }
$1 = *($&1_ltype)$input; %} $result = *($&1_ltype)$input; %}
%typemap(out) SWIGTYPE %typemap(out) SWIGTYPE
#ifdef __cplusplus #ifdef __cplusplus
@ -350,7 +350,7 @@
%typemap(out) SWIGTYPE *, SWIGTYPE & %{ $result = (void *)$1; %} %typemap(out) SWIGTYPE *, SWIGTYPE & %{ $result = (void *)$1; %}
%typemap(out) SWIGTYPE (CLASS::*) %{ $result = (void *)&$1; %} %typemap(out) SWIGTYPE (CLASS::*) %{ $result = (void *)&$1; %}
%typemap(directorout, warning=SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG) SWIGTYPE *, SWIGTYPE (CLASS::*) %typemap(directorout, warning=SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG) SWIGTYPE *, SWIGTYPE (CLASS::*)
%{ $1 = ($1_ltype)$input; %} %{ $result = ($1_ltype)$input; %}
%typemap(directorin) SWIGTYPE *, SWIGTYPE (CLASS::*) %typemap(directorin) SWIGTYPE *, SWIGTYPE (CLASS::*)
%{ $input = (void *) $1; %} %{ $input = (void *) $1; %}
@ -359,7 +359,7 @@
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type $1_type", 0); SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type $1_type", 0);
return $null; return $null;
} }
$1 = ($1_ltype)$input; %} $result = ($1_ltype)$input; %}
%typemap(directorin) SWIGTYPE & %typemap(directorin) SWIGTYPE &
%{ $input = ($1_ltype) &$1; %} %{ $input = ($1_ltype) &$1; %}
@ -374,7 +374,7 @@
%typemap(in) char[ANY], char[] %{ $1 = ($1_ltype)$input; %} %typemap(in) char[ANY], char[] %{ $1 = ($1_ltype)$input; %}
%typemap(out) char[ANY], char[] %{ $result = SWIG_csharp_string_callback((const char *)$1); %} %typemap(out) char[ANY], char[] %{ $result = SWIG_csharp_string_callback((const char *)$1); %}
%typemap(directorout) char[ANY], char[] %{ $1 = ($1_ltype)$input; %} %typemap(directorout) char[ANY], char[] %{ $result = ($1_ltype)$input; %}
%typemap(directorin) char[ANY], char[] %{ $input = SWIG_csharp_string_callback((const char *)$1); %} %typemap(directorin) char[ANY], char[] %{ $input = SWIG_csharp_string_callback((const char *)$1); %}
%typemap(csdirectorin) char[ANY], char[] "$iminput" %typemap(csdirectorin) char[ANY], char[] "$iminput"

View file

@ -20,7 +20,7 @@
%typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE & %typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE &
%{ static $*1_ltype temp = ($*1_ltype)$input; %{ static $*1_ltype temp = ($*1_ltype)$input;
$1 = &temp; %} $result = &temp; %}
%typemap(directorin) const enum SWIGTYPE & "$input = $1_name;" %typemap(directorin) const enum SWIGTYPE & "$input = $1_name;"
%typemap(csdirectorin) const enum SWIGTYPE & "($*csclassname)$iminput" %typemap(csdirectorin) const enum SWIGTYPE & "($*csclassname)$iminput"
%typemap(csdirectorout) const enum SWIGTYPE & "(int)$cscall" %typemap(csdirectorout) const enum SWIGTYPE & "(int)$cscall"
@ -53,7 +53,7 @@
%typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %}
%typemap(out) enum SWIGTYPE %{ $result = $1; %} %typemap(out) enum SWIGTYPE %{ $result = $1; %}
%typemap(directorout) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(directorout) enum SWIGTYPE %{ $result = ($1_ltype)$input; %}
%typemap(directorin) enum SWIGTYPE "$input = $1;" %typemap(directorin) enum SWIGTYPE "$input = $1;"
%typemap(csdirectorin) enum SWIGTYPE "($csclassname)$iminput" %typemap(csdirectorin) enum SWIGTYPE "($csclassname)$iminput"
%typemap(csdirectorout) enum SWIGTYPE "(int)$cscall" %typemap(csdirectorout) enum SWIGTYPE "(int)$cscall"

View file

@ -22,7 +22,7 @@
%typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE & %typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE &
%{ static $*1_ltype temp = ($*1_ltype)$input; %{ static $*1_ltype temp = ($*1_ltype)$input;
$1 = &temp; %} $result = &temp; %}
%typemap(directorin) const enum SWIGTYPE & "$input = $1_name;" %typemap(directorin) const enum SWIGTYPE & "$input = $1_name;"
%typemap(csdirectorin) const enum SWIGTYPE & "$iminput" %typemap(csdirectorin) const enum SWIGTYPE & "$iminput"
%typemap(csdirectorout) const enum SWIGTYPE & "$cscall" %typemap(csdirectorout) const enum SWIGTYPE & "$cscall"
@ -55,7 +55,7 @@
%typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %}
%typemap(out) enum SWIGTYPE %{ $result = $1; %} %typemap(out) enum SWIGTYPE %{ $result = $1; %}
%typemap(directorout) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(directorout) enum SWIGTYPE %{ $result = ($1_ltype)$input; %}
%typemap(directorin) enum SWIGTYPE "$input = $1;" %typemap(directorin) enum SWIGTYPE "$input = $1;"
%typemap(csdirectorin) enum SWIGTYPE "$iminput" %typemap(csdirectorin) enum SWIGTYPE "$iminput"
%typemap(csdirectorout) enum SWIGTYPE "$cscall" %typemap(csdirectorout) enum SWIGTYPE "$cscall"

View file

@ -21,7 +21,7 @@
%typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE & %typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE &
%{ static $*1_ltype temp = ($*1_ltype)$input; %{ static $*1_ltype temp = ($*1_ltype)$input;
$1 = &temp; %} $result = &temp; %}
%typemap(directorin) const enum SWIGTYPE & "$input = $1_name;" %typemap(directorin) const enum SWIGTYPE & "$input = $1_name;"
%typemap(csdirectorin) const enum SWIGTYPE & "$*csclassname.swigToEnum($iminput)" %typemap(csdirectorin) const enum SWIGTYPE & "$*csclassname.swigToEnum($iminput)"
%typemap(csdirectorout) const enum SWIGTYPE & "$cscall.swigValue" %typemap(csdirectorout) const enum SWIGTYPE & "$cscall.swigValue"
@ -54,7 +54,7 @@
%typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %}
%typemap(out) enum SWIGTYPE %{ $result = $1; %} %typemap(out) enum SWIGTYPE %{ $result = $1; %}
%typemap(directorout) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(directorout) enum SWIGTYPE %{ $result = ($1_ltype)$input; %}
%typemap(directorin) enum SWIGTYPE "$input = $1;" %typemap(directorin) enum SWIGTYPE "$input = $1;"
%typemap(csdirectorin) enum SWIGTYPE "$csclassname.swigToEnum($iminput)" %typemap(csdirectorin) enum SWIGTYPE "$csclassname.swigToEnum($iminput)"
%typemap(csdirectorout) enum SWIGTYPE "$cscall.swigValue" %typemap(csdirectorout) enum SWIGTYPE "$cscall.swigValue"

View file

@ -42,7 +42,7 @@ class string;
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0); SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
return $null; return $null;
} }
$1 = std::string($input); %} $result = std::string($input); %}
%typemap(directorin) string %{ $input = SWIG_csharp_string_callback($1.c_str()); %} %typemap(directorin) string %{ $input = SWIG_csharp_string_callback($1.c_str()); %}
@ -97,7 +97,7 @@ class string;
} }
/* possible thread/reentrant code problem */ /* possible thread/reentrant code problem */
static std::string $1_str($input); static std::string $1_str($input);
$1 = &$1_str; %} $result = &$1_str; %}
%typemap(directorin) const string & %{ $input = SWIG_csharp_string_callback($1.c_str()); %} %typemap(directorin) const string & %{ $input = SWIG_csharp_string_callback($1.c_str()); %}

View file

@ -69,7 +69,7 @@ In C# you could then use it like this:
%{ $1 = ($1_ltype)&$input; %} %{ $1 = ($1_ltype)&$input; %}
%typemap(directorout) TYPE *INPUT, TYPE &INPUT %typemap(directorout) TYPE *INPUT, TYPE &INPUT
%{ $1 = ($1_ltype)&$input; %} %{ $result = ($1_ltype)&$input; %}
%typemap(directorin) TYPE &INPUT %typemap(directorin) TYPE &INPUT
%{ $input = (CTYPE *)$1; %} %{ $input = (CTYPE *)$1; %}
@ -260,7 +260,6 @@ of the function return value.
%{ $1 = ($1_ltype)$input; %} %{ $1 = ($1_ltype)$input; %}
%typemap(directorout,warning="Need to provide TYPE *INOUT directorout typemap") TYPE *INOUT, TYPE &INOUT { %typemap(directorout,warning="Need to provide TYPE *INOUT directorout typemap") TYPE *INOUT, TYPE &INOUT {
} }
%typemap(directorin) TYPE &INOUT %typemap(directorin) TYPE &INOUT

View file

@ -22,7 +22,7 @@
%typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE & %typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE &
%{ static $*1_ltype temp = ($*1_ltype)$input; %{ static $*1_ltype temp = ($*1_ltype)$input;
$1 = &temp; %} $result = &temp; %}
%typemap(directorin, descriptor="L$packagepath/$*javaclassname;") const enum SWIGTYPE & "$input = (jint)$1_name;" %typemap(directorin, descriptor="L$packagepath/$*javaclassname;") const enum SWIGTYPE & "$input = (jint)$1_name;"
%typemap(javadirectorin) const enum SWIGTYPE & "$*javaclassname.swigToEnum($jniinput)" %typemap(javadirectorin) const enum SWIGTYPE & "$*javaclassname.swigToEnum($jniinput)"
%typemap(javadirectorout) const enum SWIGTYPE & "($javacall).swigValue()" %typemap(javadirectorout) const enum SWIGTYPE & "($javacall).swigValue()"
@ -47,7 +47,7 @@
%typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %}
%typemap(out) enum SWIGTYPE %{ $result = (jint)$1; %} %typemap(out) enum SWIGTYPE %{ $result = (jint)$1; %}
%typemap(directorout) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(directorout) enum SWIGTYPE %{ $result = ($1_ltype)$input; %}
%typemap(directorin, descriptor="L$packagepath/$javaclassname;") enum SWIGTYPE "$input = (jint) $1;" %typemap(directorin, descriptor="L$packagepath/$javaclassname;") enum SWIGTYPE "$input = (jint) $1;"
%typemap(javadirectorin) enum SWIGTYPE "$javaclassname.swigToEnum($jniinput)" %typemap(javadirectorin) enum SWIGTYPE "$javaclassname.swigToEnum($jniinput)"
%typemap(javadirectorout) enum SWIGTYPE "($javacall).swigValue()" %typemap(javadirectorout) enum SWIGTYPE "($javacall).swigValue()"

View file

@ -22,7 +22,7 @@
%typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE & %typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE &
%{ static $*1_ltype temp = ($*1_ltype)$input; %{ static $*1_ltype temp = ($*1_ltype)$input;
$1 = &temp; %} $result = &temp; %}
%typemap(directorin, descriptor="I") const enum SWIGTYPE & "$input = (jint)$1_name;" %typemap(directorin, descriptor="I") const enum SWIGTYPE & "$input = (jint)$1_name;"
%typemap(javadirectorin) const enum SWIGTYPE & "$jniinput" %typemap(javadirectorin) const enum SWIGTYPE & "$jniinput"
%typemap(javadirectorout) const enum SWIGTYPE & "$javacall" %typemap(javadirectorout) const enum SWIGTYPE & "$javacall"
@ -47,7 +47,7 @@
%typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %}
%typemap(out) enum SWIGTYPE %{ $result = (jint)$1; %} %typemap(out) enum SWIGTYPE %{ $result = (jint)$1; %}
%typemap(directorout) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(directorout) enum SWIGTYPE %{ $result = ($1_ltype)$input; %}
%typemap(directorin, descriptor="I") enum SWIGTYPE "$input = (jint) $1;" %typemap(directorin, descriptor="I") enum SWIGTYPE "$input = (jint) $1;"
%typemap(javadirectorin) enum SWIGTYPE "$jniinput" %typemap(javadirectorin) enum SWIGTYPE "$jniinput"
%typemap(javadirectorout) enum SWIGTYPE "$javacall" %typemap(javadirectorout) enum SWIGTYPE "$javacall"

View file

@ -21,7 +21,7 @@
%typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE & %typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE &
%{ static $*1_ltype temp = ($*1_ltype)$input; %{ static $*1_ltype temp = ($*1_ltype)$input;
$1 = &temp; %} $result = &temp; %}
%typemap(directorin, descriptor="L$packagepath/$*javaclassname;") const enum SWIGTYPE & "$input = (jint)$1_name;" %typemap(directorin, descriptor="L$packagepath/$*javaclassname;") const enum SWIGTYPE & "$input = (jint)$1_name;"
%typemap(javadirectorin) const enum SWIGTYPE & "$*javaclassname.swigToEnum($jniinput)" %typemap(javadirectorin) const enum SWIGTYPE & "$*javaclassname.swigToEnum($jniinput)"
%typemap(javadirectorout) const enum SWIGTYPE & "($javacall).swigValue()" %typemap(javadirectorout) const enum SWIGTYPE & "($javacall).swigValue()"
@ -45,7 +45,7 @@
%typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %}
%typemap(out) enum SWIGTYPE %{ $result = (jint)$1; %} %typemap(out) enum SWIGTYPE %{ $result = (jint)$1; %}
%typemap(directorout) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(directorout) enum SWIGTYPE %{ $result = ($1_ltype)$input; %}
%typemap(directorin, descriptor="L$packagepath/$javaclassname;") enum SWIGTYPE "$input = (jint) $1;" %typemap(directorin, descriptor="L$packagepath/$javaclassname;") enum SWIGTYPE "$input = (jint) $1;"
%typemap(javadirectorin) enum SWIGTYPE "$javaclassname.swigToEnum($jniinput)" %typemap(javadirectorin) enum SWIGTYPE "$javaclassname.swigToEnum($jniinput)"
%typemap(javadirectorout) enum SWIGTYPE "($javacall).swigValue()" %typemap(javadirectorout) enum SWIGTYPE "($javacall).swigValue()"

View file

@ -22,7 +22,7 @@
%typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE & %typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE &
%{ static $*1_ltype temp = ($*1_ltype)$input; %{ static $*1_ltype temp = ($*1_ltype)$input;
$1 = &temp; %} $result = &temp; %}
%typemap(directorin, descriptor="I") const enum SWIGTYPE & "$input = (jint)$1_name;" %typemap(directorin, descriptor="I") const enum SWIGTYPE & "$input = (jint)$1_name;"
%typemap(javadirectorin) const enum SWIGTYPE & "$jniinput" %typemap(javadirectorin) const enum SWIGTYPE & "$jniinput"
%typemap(javadirectorout) const enum SWIGTYPE & "$javacall" %typemap(javadirectorout) const enum SWIGTYPE & "$javacall"
@ -47,7 +47,7 @@
%typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %}
%typemap(out) enum SWIGTYPE %{ $result = (jint)$1; %} %typemap(out) enum SWIGTYPE %{ $result = (jint)$1; %}
%typemap(directorout) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %} %typemap(directorout) enum SWIGTYPE %{ $result = ($1_ltype)$input; %}
%typemap(directorin, descriptor="I") enum SWIGTYPE "$input = (jint) $1;" %typemap(directorin, descriptor="I") enum SWIGTYPE "$input = (jint) $1;"
%typemap(javadirectorin) enum SWIGTYPE "$jniinput" %typemap(javadirectorin) enum SWIGTYPE "$jniinput"
%typemap(javadirectorout) enum SWIGTYPE "$javacall" %typemap(javadirectorout) enum SWIGTYPE "$javacall"

View file

@ -157,7 +157,7 @@
%{ $1 = $input ? true : false; %} %{ $1 = $input ? true : false; %}
%typemap(directorout) bool %typemap(directorout) bool
%{ $1 = $input ? true : false; %} %{ $result = $input ? true : false; %}
%typemap(javadirectorin) bool "$jniinput" %typemap(javadirectorin) bool "$jniinput"
%typemap(javadirectorout) bool "$javacall" %typemap(javadirectorout) bool "$javacall"
@ -188,7 +188,7 @@
long long, long long,
float, float,
double double
%{ $1 = ($1_ltype)$input; %} %{ $result = ($1_ltype)$input; %}
%typemap(directorin, descriptor="Z") bool "$input = (jboolean) $1;" %typemap(directorin, descriptor="Z") bool "$input = (jboolean) $1;"
%typemap(directorin, descriptor="C") char "$input = (jint) $1;" %typemap(directorin, descriptor="C") char "$input = (jint) $1;"
@ -289,9 +289,9 @@
ba = (jbyteArray)JCALL2(CallObjectMethod, jenv, $input, mid); ba = (jbyteArray)JCALL2(CallObjectMethod, jenv, $input, mid);
bae = JCALL2(GetByteArrayElements, jenv, ba, 0); bae = JCALL2(GetByteArrayElements, jenv, ba, 0);
sz = JCALL1(GetArrayLength, jenv, ba); sz = JCALL1(GetArrayLength, jenv, ba);
$1 = 0; $result = 0;
for(i=0; i<sz; i++) { for(i=0; i<sz; i++) {
$1 = ($1 << 8) | ($1_type)(unsigned char)bae[i]; $result = ($result << 8) | ($1_type)(unsigned char)bae[i];
} }
JCALL3(ReleaseByteArrayElements, jenv, ba, bae, 0); JCALL3(ReleaseByteArrayElements, jenv, ba, bae, 0);
} }
@ -350,8 +350,8 @@
%typemap(directorout, noblock=1, warning=SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG) char * { %typemap(directorout, noblock=1, warning=SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG) char * {
$1 = 0; $1 = 0;
if ($input) { if ($input) {
$1 = ($1_ltype)JCALL2(GetStringUTFChars, jenv, $input, 0); $result = ($1_ltype)JCALL2(GetStringUTFChars, jenv, $input, 0);
if (!$1) return $null; if (!$result) return $null;
} }
} }
@ -381,7 +381,7 @@
%typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const bool & %typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const bool &
%{ static $*1_ltype temp; %{ static $*1_ltype temp;
temp = $input ? true : false; temp = $input ? true : false;
$1 = &temp; %} $result = &temp; %}
%typemap(javadirectorin) const bool & "$jniinput" %typemap(javadirectorin) const bool & "$jniinput"
%typemap(javadirectorout) const bool & "$javacall" %typemap(javadirectorout) const bool & "$javacall"
@ -415,7 +415,7 @@
const double & const double &
%{ static $*1_ltype temp; %{ static $*1_ltype temp;
temp = ($*1_ltype)$input; temp = ($*1_ltype)$input;
$1 = &temp; %} $result = &temp; %}
%typemap(directorin, descriptor="Z") const bool & "$input = (jboolean)$1_name;" %typemap(directorin, descriptor="Z") const bool & "$input = (jboolean)$1_name;"
%typemap(directorin, descriptor="C") const char & "$input = (jchar)$1_name;" %typemap(directorin, descriptor="C") const char & "$input = (jchar)$1_name;"
@ -519,7 +519,7 @@
ba = (jbyteArray)JCALL2(CallObjectMethod, jenv, $input, mid); ba = (jbyteArray)JCALL2(CallObjectMethod, jenv, $input, mid);
bae = JCALL2(GetByteArrayElements, jenv, ba, 0); bae = JCALL2(GetByteArrayElements, jenv, ba, 0);
sz = JCALL1(GetArrayLength, jenv, ba); sz = JCALL1(GetArrayLength, jenv, ba);
$1 = &temp; $result = &temp;
temp = 0; temp = 0;
for(i=0; i<sz; i++) { for(i=0; i<sz; i++) {
temp = (temp << 8) | ($*1_ltype)(unsigned char)bae[i]; temp = (temp << 8) | ($*1_ltype)(unsigned char)bae[i];
@ -563,7 +563,7 @@
SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Unexpected null return for type $1_type"); SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Unexpected null return for type $1_type");
return $null; return $null;
} }
$1 = *argp; %} $result = *argp; %}
%typemap(out) SWIGTYPE %typemap(out) SWIGTYPE
#ifdef __cplusplus #ifdef __cplusplus
@ -595,7 +595,7 @@
%{ *($&1_ltype)&$result = $1; %} %{ *($&1_ltype)&$result = $1; %}
%typemap(directorout, warning=SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG) SWIGTYPE *, SWIGTYPE (CLASS::*) %typemap(directorout, warning=SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG) SWIGTYPE *, SWIGTYPE (CLASS::*)
%{ $1 = *($&1_ltype)&$input; %} %{ $result = *($&1_ltype)&$input; %}
%typemap(directorin,descriptor="L$packagepath/$javaclassname;") SWIGTYPE *, SWIGTYPE (CLASS::*) %typemap(directorin,descriptor="L$packagepath/$javaclassname;") SWIGTYPE *, SWIGTYPE (CLASS::*)
%{ *(($&1_ltype)&$input) = ($1_ltype) $1; %} %{ *(($&1_ltype)&$input) = ($1_ltype) $1; %}
@ -604,7 +604,7 @@
SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Unexpected null return for type $1_type"); SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Unexpected null return for type $1_type");
return $null; return $null;
} }
$1 = *($&1_ltype)&$input; %} $result = *($&1_ltype)&$input; %}
%typemap(directorin,descriptor="L$packagepath/$javaclassname;") SWIGTYPE & %typemap(directorin,descriptor="L$packagepath/$javaclassname;") SWIGTYPE &
%{ *($&1_ltype)&$input = ($1_ltype) &$1; %} %{ *($&1_ltype)&$input = ($1_ltype) &$1; %}
@ -628,8 +628,8 @@
%typemap(directorout, noblock=1) char[ANY], char[] { %typemap(directorout, noblock=1) char[ANY], char[] {
$1 = 0; $1 = 0;
if ($input) { if ($input) {
$1 = ($1_ltype)JCALL2(GetStringUTFChars, jenv, $input, 0); $result = ($1_ltype)JCALL2(GetStringUTFChars, jenv, $input, 0);
if (!$1) return $null; if (!$result) return $null;
} }
} }
@ -688,7 +688,7 @@
jfloatArray, jfloatArray,
jdoubleArray, jdoubleArray,
jobjectArray jobjectArray
%{ $1 = $input; %} %{ $result = $input; %}
%typemap(out) jboolean, %typemap(out) jboolean,
jchar, jchar,

View file

@ -46,7 +46,7 @@ class string;
} }
const char *$1_pstr = (const char *)jenv->GetStringUTFChars($input, 0); const char *$1_pstr = (const char *)jenv->GetStringUTFChars($input, 0);
if (!$1_pstr) return $null; if (!$1_pstr) return $null;
$1 = std::string($1_pstr); $result = std::string($1_pstr);
jenv->ReleaseStringUTFChars($input, $1_pstr); %} jenv->ReleaseStringUTFChars($input, $1_pstr); %}
%typemap(directorin,descriptor="Ljava/lang/String;") string %typemap(directorin,descriptor="Ljava/lang/String;") string
@ -94,7 +94,7 @@ class string;
if (!$1_pstr) return $null; if (!$1_pstr) return $null;
/* possible thread/reentrant code problem */ /* possible thread/reentrant code problem */
static std::string $1_str($1_pstr); static std::string $1_str($1_pstr);
$1 = &$1_str; $result = &$1_str;
jenv->ReleaseStringUTFChars($input, $1_pstr); %} jenv->ReleaseStringUTFChars($input, $1_pstr); %}
%typemap(directorin,descriptor="Ljava/lang/String;") const string & %typemap(directorin,descriptor="Ljava/lang/String;") const string &

View file

@ -60,7 +60,7 @@ class wstring;
for (jsize i = 0; i < $1_len; ++i) { for (jsize i = 0; i < $1_len; ++i) {
conv_buf[i] = $1_pstr[i]; conv_buf[i] = $1_pstr[i];
} }
$1 = std::wstring(conv_buf, $1_len); $result = std::wstring(conv_buf, $1_len);
delete [] conv_buf; delete [] conv_buf;
} }
jenv->ReleaseStringChars($input, $1_pstr); jenv->ReleaseStringChars($input, $1_pstr);
@ -136,7 +136,7 @@ class wstring;
$1_str = std::wstring(conv_buf, $1_len); $1_str = std::wstring(conv_buf, $1_len);
delete [] conv_buf; delete [] conv_buf;
} }
$1 = &$1_str; $result = &$1_str;
jenv->ReleaseStringChars($input, $1_pstr); %} jenv->ReleaseStringChars($input, $1_pstr); %}
%typemap(directorin,descriptor="Ljava/lang/String;") const wstring & { %typemap(directorin,descriptor="Ljava/lang/String;") const wstring & {

View file

@ -75,7 +75,7 @@ There are no char *INPUT typemaps, however you can apply the signed char * typem
%typemap(freearg) TYPE *INPUT, TYPE &INPUT "" %typemap(freearg) TYPE *INPUT, TYPE &INPUT ""
%typemap(directorout) TYPE *INPUT, TYPE &INPUT %typemap(directorout) TYPE *INPUT, TYPE &INPUT
%{ $1 = ($1_ltype)&$input; %} %{ $result = ($1_ltype)&$input; %}
%typemap(directorin,descriptor=JNIDESC) TYPE &INPUT %typemap(directorin,descriptor=JNIDESC) TYPE &INPUT
%{ *(($&1_ltype) $input) = (JNITYPE *) &$1; %} %{ *(($&1_ltype) $input) = (JNITYPE *) &$1; %}
@ -359,7 +359,6 @@ There are no char *INOUT typemaps, however you can apply the signed char * typem
{ JCALL3(Release##JAVATYPE##ArrayElements, jenv, $input, (JNITYPE *)$1, 0); } { JCALL3(Release##JAVATYPE##ArrayElements, jenv, $input, (JNITYPE *)$1, 0); }
%typemap(directorout,warning="Need to provide TYPE *INOUT directorout typemap") TYPE *INOUT, TYPE &INOUT { %typemap(directorout,warning="Need to provide TYPE *INOUT directorout typemap") TYPE *INOUT, TYPE &INOUT {
} }
%typemap(directorin,descriptor=JNIDESC) TYPE &INOUT %typemap(directorin,descriptor=JNIDESC) TYPE &INOUT