⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jni.c

📁 kaffe Java 解释器语言,源码,Java的子集系统,开放源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
	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 + -