JNI descriptor attribute in directorin typemap called descriptor instead of parse now

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5277 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2003-11-08 11:20:07 +00:00
commit 227a79d890
5 changed files with 83 additions and 98 deletions

View file

@ -225,7 +225,7 @@ JAVA_ARRAYS_IMPL(double, jdouble, Double, Double) /* double[] */
if (!SWIG_JavaArrayIn##JFUNCNAME(jenv, &jarr, &$1, $input)) return $null; %}
%typemap(argout) CTYPE[ANY]
%{ SWIG_JavaArrayArgout##JFUNCNAME(jenv, jarr$argnum, $1, $input); %}
%typemap(directorin,parse=JNIDESC) CTYPE[ANY]
%typemap(directorin,descriptor=JNIDESC) CTYPE[ANY]
%{$input = SWIG_JavaArrayOut##JFUNCNAME(jenv, $1, $1_dim0); %}
%typemap(out) CTYPE[ANY]
%{$result = SWIG_JavaArrayOut##JFUNCNAME(jenv, $1, $1_dim0); %}

View file

@ -179,20 +179,20 @@
enum SWIGTYPE
%{ $1 = ($1_ltype)$input; %}
%typemap(directorin, parse="Z") bool "$input = (jboolean) $1;"
%typemap(directorin, parse="C") char "$input = (jint) $1;"
%typemap(directorin, parse="B") signed char "$input = (jbyte) $1;"
%typemap(directorin, parse="S") unsigned char "$input = (jshort) $1;"
%typemap(directorin, parse="S") short "$input = (jshort) $1;"
%typemap(directorin, parse="I") unsigned short "$input = (jint) $1;"
%typemap(directorin, parse="I") int "$input = (jint) $1;"
%typemap(directorin, parse="J") unsigned int "$input = (jlong) $1;"
%typemap(directorin, parse="I") long "$input = (jint) $1;"
%typemap(directorin, parse="J") unsigned long "$input = (jlong) $1;"
%typemap(directorin, parse="J") long long "$input = (jlong) $1;"
%typemap(directorin, parse="F") float "$input = (jfloat) $1;"
%typemap(directorin, parse="D") double "$input = (jdouble) $1;"
%typemap(directorin, parse="I") enum SWIGTYPE "$input = (jint) $1;"
%typemap(directorin, descriptor="Z") bool "$input = (jboolean) $1;"
%typemap(directorin, descriptor="C") char "$input = (jint) $1;"
%typemap(directorin, descriptor="B") signed char "$input = (jbyte) $1;"
%typemap(directorin, descriptor="S") unsigned char "$input = (jshort) $1;"
%typemap(directorin, descriptor="S") short "$input = (jshort) $1;"
%typemap(directorin, descriptor="I") unsigned short "$input = (jint) $1;"
%typemap(directorin, descriptor="I") int "$input = (jint) $1;"
%typemap(directorin, descriptor="J") unsigned int "$input = (jlong) $1;"
%typemap(directorin, descriptor="I") long "$input = (jint) $1;"
%typemap(directorin, descriptor="J") unsigned long "$input = (jlong) $1;"
%typemap(directorin, descriptor="J") long long "$input = (jlong) $1;"
%typemap(directorin, descriptor="F") float "$input = (jfloat) $1;"
%typemap(directorin, descriptor="D") double "$input = (jdouble) $1;"
%typemap(directorin, descriptor="I") enum SWIGTYPE "$input = (jint) $1;"
%typemap(javadirectorin) char,
signed char,
@ -292,7 +292,7 @@
}
/* Convert to BigInteger (see out typemap) */
%typemap(directorin, parse="Ljava/math/Biginteger;") unsigned long long, const unsigned long long & {
%typemap(directorin, descriptor="Ljava/math/Biginteger;") unsigned long long, const unsigned long long & {
jbyteArray ba = JCALL1(NewByteArray, jenv, 9);
jbyte* bae = JCALL2(GetByteArrayElements, jenv, ba, 0);
jclass clazz = JCALL1(FindClass, jenv, "java/math/BigInteger");
@ -322,7 +322,7 @@
}
}
%typemap(directorin, parse="Ljava/lang/String;") char * {
%typemap(directorin, descriptor="Ljava/lang/String;") char * {
$input = 0;
if ($1) {
$input = JCALL1(NewStringUTF, jenv, $1);
@ -337,7 +337,7 @@
%typemap(out) void ""
%typemap(javadirectorin) void "$jniinput"
%typemap(javadirectorout) void "$javacall"
%typemap(directorin, parse="V") void ""
%typemap(directorin, descriptor="V") void ""
/* primitive types by reference */
%typemap(in) const bool & (bool temp)
@ -362,19 +362,19 @@
%{ temp = ($*1_ltype)$input;
$1 = &temp; %}
%typemap(directorin, parse="Z") const bool & "$input = (jboolean)$1_name;"
%typemap(directorin, parse="C") const char & "$input = (jchar)$1_name;"
%typemap(directorin, parse="B") const signed char & "$input = (jbyte)$1_name;"
%typemap(directorin, parse="S") const unsigned char & "$input = (jshort)$1_name;"
%typemap(directorin, parse="S") const short & "$input = (jshort)$1_name;"
%typemap(directorin, parse="I") const unsigned short & "$input = (jint)$1_name;"
%typemap(directorin, parse="I") const int & "$input = (jint)$1_name;"
%typemap(directorin, parse="J") const unsigned int & "$input = (jlong)$1_name;"
%typemap(directorin, parse="I") const long & "$input = (jint)$1_name;"
%typemap(directorin, parse="J") const unsigned long & "$input = (jlong)$1_name;"
%typemap(directorin, parse="J") const long long & "$input = (jlong)$1_name;"
%typemap(directorin, parse="F") const float & "$input = (jfloat)$1_name;"
%typemap(directorin, parse="D") const double & "$input = (jdouble)$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="B") const signed char & "$input = (jbyte)$1_name;"
%typemap(directorin, descriptor="S") const unsigned char & "$input = (jshort)$1_name;"
%typemap(directorin, descriptor="S") const short & "$input = (jshort)$1_name;"
%typemap(directorin, descriptor="I") const unsigned short & "$input = (jint)$1_name;"
%typemap(directorin, descriptor="I") const int & "$input = (jint)$1_name;"
%typemap(directorin, descriptor="J") const unsigned int & "$input = (jlong)$1_name;"
%typemap(directorin, descriptor="I") const long & "$input = (jint)$1_name;"
%typemap(directorin, descriptor="J") const unsigned long & "$input = (jlong)$1_name;"
%typemap(directorin, descriptor="J") const long long & "$input = (jlong)$1_name;"
%typemap(directorin, descriptor="F") const float & "$input = (jfloat)$1_name;"
%typemap(directorin, descriptor="D") const double & "$input = (jdouble)$1_name;"
%typemap(javadirectorin) const char & (char temp),
const signed char & (signed char temp),
@ -494,7 +494,7 @@
}
#endif
%typemap(directorin,parse="L$packagepath/$javaclassname;") SWIGTYPE "*(($&1_type)&$input) = &$1;"
%typemap(directorin,descriptor="L$packagepath/$javaclassname;") SWIGTYPE "*(($&1_type)&$input) = &$1;"
%typemap(javadirectorin) SWIGTYPE "new $javaclassname($jniinput, false)"
%typemap(javadirectorout) SWIGTYPE "$javaclassname.getCPtr($javacall)"
@ -510,10 +510,10 @@
%typemap(out) SWIGTYPE &
%{ *($&1_ltype)&$result = $1; %}
%typemap(directorin,parse="L$packagepath/$javaclassname;") SWIGTYPE *, SWIGTYPE (CLASS::*)
%typemap(directorin,descriptor="L$packagepath/$javaclassname;") SWIGTYPE *, SWIGTYPE (CLASS::*)
%{ *(($&1_ltype)&$input) = ($1_ltype) $1; %}
%typemap(directorin,parse="L$packagepath/$javaclassname;") SWIGTYPE &
%typemap(directorin,descriptor="L$packagepath/$javaclassname;") SWIGTYPE &
%{ *($&1_ltype)&$input = ($1_ltype) &$1; %}
%typemap(javadirectorin) SWIGTYPE *, SWIGTYPE (CLASS::*), SWIGTYPE &, const SWIGTYPE & "new $javaclassname($jniinput, false)"
@ -532,7 +532,7 @@
}
}
%typemap(directorin,parse="Ljava/lang/String;") char[ANY] "$input = JCALL1(NewStringUTF, jenv, $1_name);"
%typemap(directorin,descriptor="Ljava/lang/String;") char[ANY] "$input = JCALL1(NewStringUTF, jenv, $1_name);"
%typemap(argout) char[ANY] ""
%typemap(freearg) char[ANY] { if ($1) JCALL2(ReleaseStringUTFChars, jenv, $input, $1); }
@ -583,25 +583,25 @@
jobjectArray
%{ $result = $1; %}
%typemap(directorin,parse="Z") jboolean "$input = $1;"
%typemap(directorin,parse="C") jchar "$input = $1;"
%typemap(directorin,parse="B") jbyte "$input = $1;"
%typemap(directorin,parse="S") jshort "$input = $1;"
%typemap(directorin,parse="I") jint "$input = $1;"
%typemap(directorin,parse="J") jlong "$input = $1;"
%typemap(directorin,parse="F") jfloat "$input = $1;"
%typemap(directorin,parse="D") jdouble "$input = $1;"
%typemap(directorin,parse="Ljava/lang/String;") jstring "$input = $1;"
%typemap(directorin,parse="Ljava/lang/Object;") jobject "$input = $1;"
%typemap(directorin,parse="[Z") jbooleanArray "$input = $1;"
%typemap(directorin,parse="[C") jcharArray "$input = $1;"
%typemap(directorin,parse="[B") jbyteArray "$input = $1;"
%typemap(directorin,parse="[S") jshortArray "$input = $1;"
%typemap(directorin,parse="[I") jintArray "$input = $1;"
%typemap(directorin,parse="[J") jlongArray "$input = $1;"
%typemap(directorin,parse="[F") jfloatArray "$input = $1;"
%typemap(directorin,parse="[D") jdoubleArray "$input = $1;"
%typemap(directorin,parse="[Ljava/lang/Object;") jobjectArray "$input = $1;"
%typemap(directorin,descriptor="Z") jboolean "$input = $1;"
%typemap(directorin,descriptor="C") jchar "$input = $1;"
%typemap(directorin,descriptor="B") jbyte "$input = $1;"
%typemap(directorin,descriptor="S") jshort "$input = $1;"
%typemap(directorin,descriptor="I") jint "$input = $1;"
%typemap(directorin,descriptor="J") jlong "$input = $1;"
%typemap(directorin,descriptor="F") jfloat "$input = $1;"
%typemap(directorin,descriptor="D") jdouble "$input = $1;"
%typemap(directorin,descriptor="Ljava/lang/String;") jstring "$input = $1;"
%typemap(directorin,descriptor="Ljava/lang/Object;") jobject "$input = $1;"
%typemap(directorin,descriptor="[Z") jbooleanArray "$input = $1;"
%typemap(directorin,descriptor="[C") jcharArray "$input = $1;"
%typemap(directorin,descriptor="[B") jbyteArray "$input = $1;"
%typemap(directorin,descriptor="[S") jshortArray "$input = $1;"
%typemap(directorin,descriptor="[I") jintArray "$input = $1;"
%typemap(directorin,descriptor="[J") jlongArray "$input = $1;"
%typemap(directorin,descriptor="[F") jfloatArray "$input = $1;"
%typemap(directorin,descriptor="[D") jdoubleArray "$input = $1;"
%typemap(directorin,descriptor="[Ljava/lang/Object;") jobjectArray "$input = $1;"
%typemap(javadirectorin) jboolean,
jchar,

View file

@ -43,7 +43,7 @@ class string;
return $null;
} %}
%typemap(directorin,parse="Ljava/lang/String;") string
%typemap(directorin,descriptor="Ljava/lang/String;") string
%{ $input = jenv->NewStringUTF($1.c_str()); %}
%typemap(out) string
@ -80,7 +80,7 @@ class string;
%typemap(freearg) const string &
%{ delete $1; %}
%typemap(directorin,parse="Ljava/lang/String;") const string &
%typemap(directorin,descriptor="Ljava/lang/String;") const string &
%{ $input = jenv->NewStringUTF($1.c_str()); %}
%typemap(out) const string &
@ -142,7 +142,7 @@ class wstring;
return $null;
} %}
%typemap(directorin,parse="Ljava/lang/String;") wstring
%typemap(directorin,descriptor="Ljava/lang/String;") wstring
%{jsize len = $1.length();
jchar *conv_buf = new jchar[len];
for (jsize i = 0; i < len; ++i) {
@ -194,7 +194,7 @@ class wstring;
return $null;
} %}
%typemap(directorin,parse="Ljava/lang/String;") const wstring &
%typemap(directorin,descriptor="Ljava/lang/String;") const wstring &
%{jsize len = $1->length();
jchar *conv_buf = new jchar[len];
for (jsize i = 0; i < len; ++i) {

View file

@ -76,10 +76,10 @@ In Java you could then use it like this:
%typemap(in) CTYPE *INPUT, CTYPE &INPUT
%{ $1 = ($1_ltype)&$input; %}
%typemap(directorin,parse=JNIDESC) CYTPE &INPUT
%typemap(directorin,descriptor=JNIDESC) CYTPE &INPUT
%{ *(($&1_ltype) $input) = (JNITYPE *) &$1; %}
%typemap(directorin,parse=JNIDESC) CTYPE *INPUT
%typemap(directorin,descriptor=JNIDESC) CTYPE *INPUT
%{ *(($&1_ltype) $input) = (JNITYPE *) $1; %}
%typemap(typecheck) CTYPE *INPUT = CTYPE;
@ -220,10 +220,10 @@ value in the single element array. In Java you would use it like this:
$1 = &temp;
}
%typemap(directorin,parse=JNIDESC) CTYPE &OUTPUT
%typemap(directorin,descriptor=JNIDESC) CTYPE &OUTPUT
%{ *(($&1_ltype) $input = &$1; %}
%typemap(directorin,parse=JNIDESC) CTYPE *OUTPUT
%typemap(directorin,descriptor=JNIDESC) CTYPE *OUTPUT
%{
#error "Need to provide OUT directorin typemap, CTYPE array length is unknown"
%}
@ -354,10 +354,10 @@ of the function return value. This difference is due to Java being a typed langu
$1 = ($1_ltype) JCALL2(Get##JAVATYPE##ArrayElements, jenv, $input, 0);
}
%typemap(directorin,parse=JNIDESC) CTYPE &INOUT
%typemap(directorin,descriptor=JNIDESC) CTYPE &INOUT
%{ *(($&1_ltype)&$input) = &$1; %}
%typemap(directorin,parse=JNIDESC) CTYPE *INOUT, CTYPE &INOUT
%typemap(directorin,descriptor=JNIDESC) CTYPE *INOUT, CTYPE &INOUT
{
#error "Need to provide INOUT directorin typemap, CTYPE array length is unknown"
}