# # cast.m # # cast from JNI types to generic JNI types # Cast : module { PATH : con "/dis/java/cast.dis"; # cast to JObject FromJArray : fn( ary : JNI->JArray ) : (JNI->JObject); FromJClass : fn( cl : JNI->JClass ) : (JNI->JObject); FromJString : fn( str : JNI->JString ) : (JNI->JObject); # cast JArray* to JArray ByteToJArray : fn( ptr : ref JNI->ByteArray ) : (JNI->JArray); IntToJArray : fn( ptr : ref JNI->IntArray ) : (JNI->JArray); BigToJArray : fn( ptr : ref JNI->BigArray ) : (JNI->JArray); RealToJArray : fn( ptr : ref JNI->RealArray ) : (JNI->JArray); ClassToJArray : fn( ptr : ref JNI->ClassArray ) : (JNI->JArray); StringToJArray : fn( ptr : ref JNI->StringArray ) : (JNI->JArray); ObjectToJArray : fn( ptr : ref JNI->ObjectArray ) : (JNI->JArray); # cast JArray to JArray* JArrayToByte : fn( ptr : JNI->JArray ) : ref JNI->ByteArray; JArrayToInt : fn( ptr : JNI->JArray ) : ref JNI->IntArray; JArrayToBig : fn( ptr : JNI->JArray ) : ref JNI->BigArray; JArrayToReal : fn( ptr : JNI->JArray ) : ref JNI->RealArray; JArrayToClass : fn( ptr : JNI->JArray ) : ref JNI->ClassArray; JArrayToString : fn( ptr : JNI->JArray ) : ref JNI->StringArray; JArrayToObject : fn( ptr : JNI->JArray ) : ref JNI->ObjectArray; # cast from JObjects ToJClass : fn( obj : JNI->JObject ) : (JNI->JClass); ToJString : fn( obj : JNI->JObject ) : (JNI->JString); ToJArray : fn( obj : JNI->JObject ) : (JNI->JArray); ToJArrayB : fn( obj : JNI->JObject ) : (JNI->JArrayB); ToJArrayC : fn( obj : JNI->JObject ) : (JNI->JArrayC); ToJArrayS : fn( obj : JNI->JObject ) : (JNI->JArrayS); ToJArrayI : fn( obj : JNI->JObject ) : (JNI->JArrayI); ToJArrayJ : fn( obj : JNI->JObject ) : (JNI->JArrayJ); ToJArrayF : fn( obj : JNI->JObject ) : (JNI->JArrayF); ToJArrayD : fn( obj : JNI->JObject ) : (JNI->JArrayD); ToJArrayZ : fn( obj : JNI->JObject ) : (JNI->JArrayZ); ToJArrayJObject : fn( obj : JNI->JObject ) : (JNI->JArrayJObject); ToJArrayJString : fn( obj : JNI->JObject ) : (JNI->JArrayJString); # cast for thread data JObjToJThd : fn( obj : JNI->JObject ) : (JNI->JThread); JThdToJObj : fn( jthd : JNI->JThread ) : (JNI->JObject); # cast to a niladt Class2Niladt : fn( cl : JNI->ClassData ) : ref Loader->Niladt; Obj2Niladt : fn( cl : JNI->JObject ) : ref Loader->Niladt; # utility JNI2Nilmod : fn( j : JNI ) : Nilmod; JArrayToHolder : fn( ary : array of JNI->JArray ) : array of JNI->JString; }; Low : module { PATH : con "/dis/java/low.dis"; SetByte : fn( ptr : ref Loader->Niladt, off : int, val : byte ); SetInt : fn( ptr : ref Loader->Niladt, off : int, val : int ); SetBig : fn( ptr : ref Loader->Niladt, off : int, val : big ); SetReal : fn( ptr : ref Loader->Niladt, off : int, val : real ); SetObj : fn( ptr : ref Loader->Niladt, off : int, val : JNI->JObject ); GetByte : fn( ptr : ref Loader->Niladt, off : int ) : byte; GetInt : fn( ptr : ref Loader->Niladt, off : int ) : int; GetBig : fn( ptr : ref Loader->Niladt, off : int ) : big; GetReal : fn( ptr : ref Loader->Niladt, off : int ) : real; GetObj : fn( ptr : ref Loader->Niladt, off : int ) : (JNI->JObject); CallMethod : fn( mod : Nilmod, idx : int, this : JNI->JObject, args : array of ref JNI->Value, retval : ref JNI->Value ); };