changes
[IRC.git] / Robust / src / Runtime / jni / jni-private.h
index bd12d6c7dcf9931836382d642af3b282875ae88d..77b82992a77df8a8a845fc52ff5723c28d3c308f 100644 (file)
@@ -46,7 +46,7 @@ jint RC_GetVersion(JNIEnv * env);
 jclass RC_DefineClass(JNIEnv * env, const char * c, jobject loader, const jbyte * buf, jsize bufLen);
 jclass RC_FindClass(JNIEnv * env, const char *classname);
 jmethodID RC_FromReflectedMethod(JNIEnv * env, jobject mthdobj);
-jmethodID RC_FromReflectedField(JNIEnv * env, jobject fldobj);
+jfieldID RC_FromReflectedField(JNIEnv * env, jobject fldobj);
 jobject RC_ToReflectedMethod(JNIEnv * env, jclass classobj, jmethodID methodobj, jboolean flag);
 jclass RC_GetSuperclass(JNIEnv * env, jclass classobj);
 jboolean RC_IsAssignableFrom(JNIEnv *, jclass, jclass);
@@ -76,81 +76,99 @@ jclass RC_GetObjectClass(JNIEnv * env, jobject obj);
 jboolean RC_IsInstanceOf(JNIEnv * env, jobject obj, jclass cls);
 jmethodID RC_GetMethodID(JNIEnv * env, jclass cls, const char * str1, const char * str2);
 
-#define CALLMETHOD(R, T) R RC_Call ## T ## Method(JNIEnv *env, jobject obj, jmethodID mid, ...);
+#define DCALLMETHOD(R, T) R RC_Call ## T ## Method(JNIEnv *env, jobject obj, jmethodID mid, ...);
 
-#define CALLMETHODV(R, T) R RC_Call ## T ## MethodV(JNIEnv * env, jobject obj, jmethodID mid, va_list va);
+#define DCALLMETHODV(R, T) R RC_Call ## T ## MethodV(JNIEnv * env, jobject obj, jmethodID mid, va_list va);
 
-#define CALLMETHODA(R, T) R RC_Call ## T ## MethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
+#define DCALLMETHODA(R, T) R RC_Call ## T ## MethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
 
-#define CALLNVMETHOD(R, T) R RC_CallNonvirtual ## T ## Method(JNIEnv *env, jobject obj, jmethodID mid, ...);
+#define DCALLNVMETHOD(R, T) R RC_CallNonvirtual ## T ## Method(JNIEnv *env, jobject obj, jclass cls, jmethodID mid, ...);
 
-#define CALLNVMETHODV(R, T) R RC_CallNonvirtual ## T ## MethodV(JNIEnv * env, jobject obj, jmethodID mid, va_list va);
+#define DCALLNVMETHODV(R, T) R RC_CallNonvirtual ## T ## MethodV(JNIEnv * env, jobject obj, jclass cls, jmethodID mid, va_list va);
 
-#define CALLNVMETHODA(R, T) R RC_CallNonvirtual ## T ## MethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
+#define DCALLNVMETHODA(R, T) R RC_CallNonvirtual ## T ## MethodA(JNIEnv * env, jobject obj, jclass cls, jmethodID mid, const jvalue * valarray);
 
-#define GETFIELD(R, T) R RC_Get ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld);
+#define DGETFIELD(R, T) R RC_Get ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld);
 
-#define SETFIELD(R, T) void RC_Set ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld, R src);
+#define DSETFIELD(R, T) void RC_Set ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld, R src);
 
-#define CALLSTMETHOD(R, T) R RC_CallStatic ## T ## Method(JNIEnv *env, jobject obj, jmethodID mid, ...);
+#define DCALLSTMETHOD(R, T) R RC_CallStatic ## T ## Method(JNIEnv *env, jobject obj, jmethodID mid, ...);
 
-#define CALLSTMETHODV(R, T) R RC_CallStatic ## T ## MethodV(JNIEnv * env, jobject obj, jmethodID mid, va_list va);
+#define DCALLSTMETHODV(R, T) R RC_CallStatic ## T ## MethodV(JNIEnv * env, jobject obj, jmethodID mid, va_list va);
 
-#define CALLSTMETHODA(R, T) R RC_CallStatic ## T ## MethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
+#define DCALLSTMETHODA(R, T) R RC_CallStatic ## T ## MethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
 
-#define GETSTFIELD(R, T) R RC_GetStatic ## T ## Field(JNIEnv *env, jclass cls, jfieldID fld);
+#define DGETSTFIELD(R, T) R RC_GetStatic ## T ## Field(JNIEnv *env, jclass cls, jfieldID fld);
 
-#define SETSTFIELD(R, T) void RC_SetStatic ## T ## Field(JNIEnv *env, jclass cls, jfieldID fld, R src);
+#define DSETSTFIELD(R, T) void RC_SetStatic ## T ## Field(JNIEnv *env, jclass cls, jfieldID fld, R src);
 
-#define NEWARRAY(R, T) R ## Array RC_New ## T ## Array(JNIEnv *env, jsize size);
+#define DNEWARRAY(R, T) R ## Array RC_New ## T ## Array(JNIEnv *env, jsize size);
 
-#define GETARRAY(R, T) R * RC_Get ## T ## ArrayElements(JNIEnv *env, R ## Array array, jboolean * b);
+#define DGETARRAY(R, T) R * RC_Get ## T ## ArrayElements(JNIEnv *env, R ## Array array, jboolean * b);
 
-#define RELEASEARRAY(R, T) void RC_Release ## T ## ArrayElements(JNIEnv *env, R ## Array array, R * ptr, jint num);
+#define DRELEASEARRAY(R, T) void RC_Release ## T ## ArrayElements(JNIEnv *env, R ## Array array, R * ptr, jint num);
 
-#define GETARRAYREGION(R, T) void RC_Get ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, R * ptr);
+#define DGETARRAYREGION(R, T) void RC_Get ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, R * ptr);
 
-#define SETARRAYREGION(R, T) void RC_Set ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, const R * ptr);
+#define DSETARRAYREGION(R, T) void RC_Set ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, const R * ptr);
 
-#define CALLSET(R, T)                          \
-  CALLMETHODV(R, T)                            \
-  CALLMETHOD(R, T)                             \
-  CALLMETHODA(R, T)                            \
-  CALLNVMETHODV(R, T)                          \
-  CALLNVMETHOD(R, T)                           \
-  CALLNVMETHODA(R, T)                          \
-  GETFIELD(R, T)                               \
-  SETFIELD(R, T)                               \
-  CALLSTMETHODV(R, T)                          \
-  CALLSTMETHOD(R, T)                           \
-  CALLSTMETHODA(R, T)                          \
-  GETSTFIELD(R, T)                             \
-  SETSTFIELD(R, T)                             \
-  NEWARRAY(R, T)                               \
-  GETARRAY(R, T)                               \
-  RELEASEARRAY(R, T)                           \
-  GETARRAYREGION(R, T)                         \
-  SETARRAYREGION(R, T)
+#define DCALLSET(R, T)                         \
+  DCALLMETHODV(R, T)                           \
+  DCALLMETHOD(R, T)                            \
+  DCALLMETHODA(R, T)                           \
+  DCALLNVMETHODV(R, T)                         \
+  DCALLNVMETHOD(R, T)                          \
+  DCALLNVMETHODA(R, T)                         \
+  DGETFIELD(R, T)                              \
+  DSETFIELD(R, T)                              \
+  DCALLSTMETHODV(R, T)                         \
+  DCALLSTMETHOD(R, T)                          \
+  DCALLSTMETHODA(R, T)                         \
+  DGETSTFIELD(R, T)                            \
+  DSETSTFIELD(R, T)                            \
+  DNEWARRAY(R, T)                              \
+  DGETARRAY(R, T)                              \
+  DRELEASEARRAY(R, T)                          \
+  DGETARRAYREGION(R, T)                                \
+  DSETARRAYREGION(R, T)
 
-CALLSET(jobject, Object);
-CALLSET(jboolean, Boolean);
-CALLSET(jbyte, Byte);
-CALLSET(jchar, Char);
-CALLSET(jshort, Short);
-CALLSET(jint, Int);
-CALLSET(jlong, Long);
-CALLSET(jfloat, Float);
-CALLSET(jdouble, Double);
+DCALLMETHODV(jobject, Object)
+DCALLMETHOD(jobject, Object)
+DCALLMETHODA(jobject, Object)
+DCALLNVMETHODV(jobject, Object)
+DCALLNVMETHOD(jobject, Object)
+DCALLNVMETHODA(jobject, Object)
+DGETFIELD(jobject, Object)
+DSETFIELD(jobject, Object)
+DCALLSTMETHODV(jobject, Object)
+DCALLSTMETHOD(jobject, Object)
+DCALLSTMETHODA(jobject, Object)
+DGETSTFIELD(jobject, Object)
+DSETSTFIELD(jobject, Object)
+DGETARRAY(jobject, Object)
+DRELEASEARRAY(jobject, Object)
+DGETARRAYREGION(jobject, Object)
+DSETARRAYREGION(jobject, Object)
 
+DCALLSET(jboolean, Boolean);
+DCALLSET(jbyte, Byte);
+DCALLSET(jchar, Char);
+DCALLSET(jshort, Short);
+DCALLSET(jint, Int);
+DCALLSET(jlong, Long);
+DCALLSET(jfloat, Float);
+DCALLSET(jdouble, Double);
+
+jobjectArray RC_NewObjectArray(JNIEnv *env, jsize size, jclass cls, jobject obj);
 void RC_CallVoidMethodV(JNIEnv * env, jobject obj, jmethodID mid, va_list va);
 void RC_CallVoidMethod(JNIEnv *env, jobject obj, jmethodID mid, ...);
 void RC_CallVoidMethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
 void RC_CallStaticVoidMethod(JNIEnv *env, jclass cls, jmethodID mid, ...);
 void RC_CallStaticVoidMethodV(JNIEnv * env, jclass cls, jmethodID mid, va_list va);
 void RC_CallStaticVoidMethodA(JNIEnv * env, jclass cls, jmethodID mid, const jvalue * valarray);
-void RC_CallNonvirtualVoidMethod(JNIEnv *env, jobject obj, jmethodID mid, ...);
-void RC_CallNonvirtualVoidMethodV(JNIEnv * env, jobject obj, jmethodID mid, va_list va);
-void RC_CallNonvirtualVoidMethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
+void RC_CallNonvirtualVoidMethod(JNIEnv *env, jobject obj, jclass cls, jmethodID mid, ...);
+void RC_CallNonvirtualVoidMethodV(JNIEnv * env, jobject obj, jclass cls, jmethodID mid, va_list va);
+void RC_CallNonvirtualVoidMethodA(JNIEnv * env, jobject obj, jclass cls, jmethodID mid, const jvalue * valarray);
 jfieldID RC_GetFieldID(JNIEnv * env, jclass cls, const char * str1, const char * str2);
 jmethodID RC_GetStaticMethodID(JNIEnv * env, jclass cls, const char * str1, const char * str2);
 jfieldID RC_GetStaticFieldID(JNIEnv * env, jclass cls, const char * str1, const char * str2);