📄 jni.c
字号:
if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodV(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval); ADD_REF(retval.l); END_EXCEPTION_HANDLING(); return (retval.l);}static jobjectKaffe_CallStaticObjectMethod(JNIEnv* env, jclass cls, jmethodID meth, ...){ va_list args; jobject ret; BEGIN_EXCEPTION_HANDLING(0); va_start(args, meth); ret = Kaffe_CallStaticObjectMethodV(env, cls, meth, args); va_end(args); END_EXCEPTION_HANDLING(); return (ret);}static jobjectKaffe_CallStaticObjectMethodA(JNIEnv* env, jclass cls, jmethodID meth, jvalue* args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodA(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval, 0); ADD_REF(retval.l); END_EXCEPTION_HANDLING(); return (retval.l);}static jbooleanKaffe_CallStaticBooleanMethodV(JNIEnv* env, jclass cls, jmethodID meth, va_list args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodV(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval); END_EXCEPTION_HANDLING(); return ((jboolean) retval.i);}static jbooleanKaffe_CallStaticBooleanMethod(JNIEnv* env, jclass cls, jmethodID meth, ...){ va_list args; jboolean ret; BEGIN_EXCEPTION_HANDLING(0); va_start(args, meth); ret = Kaffe_CallStaticBooleanMethodV(env, cls, meth, args); va_end(args); END_EXCEPTION_HANDLING(); return (ret);}static jbooleanKaffe_CallStaticBooleanMethodA(JNIEnv* env, jclass cls, jmethodID meth, jvalue* args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodA(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval, 0); END_EXCEPTION_HANDLING(); return ((jboolean) retval.i);}static jbyteKaffe_CallStaticByteMethodV(JNIEnv* env, jclass cls, jmethodID meth, va_list args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodV(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval); END_EXCEPTION_HANDLING(); return ((jbyte) retval.i);}static jbyteKaffe_CallStaticByteMethod(JNIEnv* env, jclass cls, jmethodID meth, ...){ va_list args; jbyte ret; BEGIN_EXCEPTION_HANDLING(0); va_start(args, meth); ret = Kaffe_CallStaticByteMethodV(env, cls, meth, args); va_end(args); END_EXCEPTION_HANDLING(); return (ret);}static jbyteKaffe_CallStaticByteMethodA(JNIEnv* env, jclass cls, jmethodID meth, jvalue* args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodA(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval, 0); END_EXCEPTION_HANDLING(); return ((jbyte) retval.i);}static jcharKaffe_CallStaticCharMethodV(JNIEnv* env, jclass cls, jmethodID meth, va_list args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodV(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval); END_EXCEPTION_HANDLING(); return ((jchar) retval.i);}static jcharKaffe_CallStaticCharMethod(JNIEnv* env, jclass cls, jmethodID meth, ...){ va_list args; jchar ret; BEGIN_EXCEPTION_HANDLING(0); va_start(args, meth); ret = Kaffe_CallStaticCharMethodV(env, cls, meth, args); va_end(args); END_EXCEPTION_HANDLING(); return (ret);}static jcharKaffe_CallStaticCharMethodA(JNIEnv* env, jclass cls, jmethodID meth, jvalue* args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodA(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval, 0); END_EXCEPTION_HANDLING(); return ((jchar) retval.i);}static jshortKaffe_CallStaticShortMethodV(JNIEnv* env, jclass cls, jmethodID meth, va_list args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodV(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval); END_EXCEPTION_HANDLING(); return ((jshort) retval.i);}static jshortKaffe_CallStaticShortMethod(JNIEnv* env, jclass cls, jmethodID meth, ...){ va_list args; jshort ret; BEGIN_EXCEPTION_HANDLING(0); va_start(args, meth); ret = Kaffe_CallStaticShortMethodV(env, cls, meth, args); va_end(args); END_EXCEPTION_HANDLING(); return (ret);}static jshortKaffe_CallStaticShortMethodA(JNIEnv* env, jclass cls, jmethodID meth, jvalue* args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodA(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval, 0); END_EXCEPTION_HANDLING(); return ((jshort) retval.i);}static jintKaffe_CallStaticIntMethodV(JNIEnv* env, jclass cls, jmethodID meth, va_list args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodV(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval); END_EXCEPTION_HANDLING(); return (retval.i);}static jintKaffe_CallStaticIntMethod(JNIEnv* env, jclass cls, jmethodID meth, ...){ va_list args; jint ret; BEGIN_EXCEPTION_HANDLING(0); va_start(args, meth); ret = Kaffe_CallStaticIntMethodV(env, cls, meth, args); va_end(args); END_EXCEPTION_HANDLING(); return (ret);}static jintKaffe_CallStaticIntMethodA(JNIEnv* env, jclass cls, jmethodID meth, jvalue* args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodA(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval, 0); END_EXCEPTION_HANDLING(); return (retval.i);}static jlongKaffe_CallStaticLongMethodV(JNIEnv* env, jclass cls, jmethodID meth, va_list args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodV(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval); END_EXCEPTION_HANDLING(); return (retval.j);}static jlongKaffe_CallStaticLongMethod(JNIEnv* env, jclass cls, jmethodID meth, ...){ va_list args; jlong ret; BEGIN_EXCEPTION_HANDLING(0); va_start(args, meth); ret = Kaffe_CallStaticLongMethodV(env, cls, meth, args); va_end(args); END_EXCEPTION_HANDLING(); return (ret);}static jlongKaffe_CallStaticLongMethodA(JNIEnv* env, jclass cls, jmethodID meth, jvalue* args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodA(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval, 0); END_EXCEPTION_HANDLING(); return (retval.j);}static jfloatKaffe_CallStaticFloatMethodV(JNIEnv* env, jclass cls, jmethodID meth, va_list args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodV(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval); END_EXCEPTION_HANDLING(); return (retval.f);}static jfloatKaffe_CallStaticFloatMethod(JNIEnv* env, jclass cls, jmethodID meth, ...){ va_list args; jfloat ret; BEGIN_EXCEPTION_HANDLING(0); va_start(args, meth); ret = Kaffe_CallStaticFloatMethodV(env, cls, meth, args); va_end(args); END_EXCEPTION_HANDLING(); return (ret);}static jfloatKaffe_CallStaticFloatMethodA(JNIEnv* env, jclass cls, jmethodID meth, jvalue* args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodA(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval, 0); END_EXCEPTION_HANDLING(); return (retval.f);}static jdoubleKaffe_CallStaticDoubleMethodV(JNIEnv* env, jclass cls, jmethodID meth, va_list args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodV(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval); END_EXCEPTION_HANDLING(); return (retval.d);}static jdoubleKaffe_CallStaticDoubleMethod(JNIEnv* env, jclass cls, jmethodID meth, ...){ va_list args; jdouble ret; BEGIN_EXCEPTION_HANDLING(0); va_start(args, meth); ret = Kaffe_CallStaticDoubleMethodV(env, cls, meth, args); va_end(args); END_EXCEPTION_HANDLING(); return (ret);}static jdoubleKaffe_CallStaticDoubleMethodA(JNIEnv* env, jclass cls, jmethodID meth, jvalue* args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING(0); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodA(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval, 0); END_EXCEPTION_HANDLING(); return (retval.d);}static voidKaffe_CallStaticVoidMethodV(JNIEnv* env, jclass cls, jmethodID meth, va_list args){ jvalue retval; Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING_VOID(); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodV(m, METHOD_INDIRECTMETHOD(m), 0, args, &retval); END_EXCEPTION_HANDLING();}static voidKaffe_CallStaticVoidMethod(JNIEnv* env, jclass cls, jmethodID meth, ...){ va_list args; BEGIN_EXCEPTION_HANDLING_VOID(); va_start(args, meth); Kaffe_CallStaticVoidMethodV(env, cls, meth, args); va_end(args); END_EXCEPTION_HANDLING();}static voidKaffe_CallStaticVoidMethodA(JNIEnv* env, jclass cls, jmethodID meth, jvalue* args){ Method* m = (Method*)meth; BEGIN_EXCEPTION_HANDLING_VOID(); if (!METHOD_IS_STATIC(m)) { throwException(NoSuchMethodError(m->name->data)); } callMethodA(m, METHOD_INDIRECTMETHOD(m), 0, args, 0, 0); END_EXCEPTION_HANDLING();}static jfieldIDKaffe_GetStaticFieldID(JNIEnv* env, jclass cls, const char* name, const char* sig){ Field* fld; errorInfo info; Utf8Const* utf8; BEGIN_EXCEPTION_HANDLING(0); utf8 = checkPtr(utf8ConstNew(name, -1)); fld = lookupClassField((Hjava_lang_Class*)cls, utf8, true, &info); utf8ConstRelease(utf8); if (fld == NULL) { postError(env, &info); } END_EXCEPTION_HANDLING(); return (fld);}static jobjectKaffe_GetStaticObjectField(JNIEnv* env, jclass cls, jfieldID fld){ jobject obj; BEGIN_EXCEPTION_HANDLING(0); obj = GET_STATIC_FIELD(jobject, fld); ADD_REF(obj); END_EXCEPTION_HANDLING(); return (obj);}static jbooleanKaffe_GetStaticBooleanField(JNIEnv* env, jclass cls, jfieldID fld){ jboolean ret; BEGIN_EXCEPTION_HANDLING(0); ret = GET_STATIC_FIELD(jboolean, fld); END_EXCEPTION_HANDLING(); return (ret);}static jbyteKaffe_GetStaticByteField(JNIEnv* env, jclass cls, jfieldID fld){ jbyte ret; BEGIN_EXCEPTION_HANDLING(0); ret = GET_STATIC_FIELD(jbyte, fld); END_EXCEPTION_HANDLING(); return (ret);}static jcharKaffe_GetStaticCharField(JNIEnv* env, jclass cls, jfieldID fld){ jchar ret; BEGIN_EXCEPTION_HANDLING(0); ret = GET_STATIC_FIELD(jchar, fld); END_EXCEPTION_HANDLING(); return (ret);}static jshortKaffe_GetStaticShortField(JNIEnv* env, jclass cls, jfieldID fld){ jint ret; BEGIN_EXCEPTION_HANDLING(0); ret = GET_STATIC_FIELD(jshort, fld); END_EXCEPTION_HANDLING(); return (ret);}static jintKaffe_GetStaticIntField(JNIEnv* env, jclass cls, jfieldID fld){ jint ret; BEGIN_EXCEPTION_HANDLING(0); ret = GET_STATIC_FIELD(jint, fld); END_EXCEPTION_HANDLING(); return (ret);}static jlongKaffe_GetStaticLongField(JNIEnv* env, jclass cls, jfieldID fld){ jlong ret; BEGIN_EXCEPTION_HANDLING(0); ret = GET_STATIC_FIELD(jlong, fld); END_EXCEPTION_HANDLING(); return (ret);}static jfloatKaffe_GetStaticFloatField(JNIEnv* env, jclass cls, jfieldID fld){ jfloat ret; BEGIN_EXCEPTION_HANDLING(0); ret = GET_STATIC_FIELD(jfloat, fld); END_EXCEPTION_HANDLING(); return (ret);}static jdoubleKaffe_GetStaticDoubleField(JNIEnv* env, jclass cls, jfieldID fld){ jdouble ret; BEGIN_EXCEPTION_HANDLING(0); ret = GET_STATIC_FIELD(jdouble, fld); END_EXCEPTION_HANDLING(); return (ret);}static voidKaffe_SetStaticObjectField(JNIEnv* env, jclass cls, jfieldID fld, jobject val){ BEGIN_EXCEPTION_HANDLING_VOID();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -