jni.xs

来自「UNIX下perl实现代码」· XS 代码 · 共 3,232 行 · 第 1/5 页

XS
3,232
字号
	jclass			sup    CODE:	{	    RETVAL = (*env)->IsAssignableFrom(env,  sub, sup);	    RESTOREENV;	}    OUTPUT:	RETVALSysRetThrow(obj)	JNIEnv *		env = FETCHENV;	jthrowable		obj    CODE:	{	    RETVAL = (*env)->Throw(env,  obj);	    RESTOREENV;	}    OUTPUT:	RETVAL    SysRetThrowNew(clazz, msg)	JNIEnv *		env = FETCHENV;	jclass			clazz	const char *		msg    CODE:	{	    RETVAL = (*env)->ThrowNew(env,  clazz, msg);	    RESTOREENV;	}    OUTPUT:	RETVALjthrowableExceptionOccurred()	JNIEnv *		env = FETCHENV;    CODE:	{	    RETVAL = (*env)->ExceptionOccurred(env);	    RESTOREENV;	}    OUTPUT:	RETVALvoidExceptionDescribe()	JNIEnv *		env = FETCHENV;    CODE:	{	    (*env)->ExceptionDescribe(env);	    RESTOREENV;	}voidExceptionClear()	JNIEnv *		env = FETCHENV;    CODE:	{	    (*env)->ExceptionClear(env);	    RESTOREENV;	}voidFatalError(msg)	JNIEnv *		env = FETCHENV;	const char *		msg    CODE:	{	    (*env)->FatalError(env,  msg);	    RESTOREENV;	}jobjectNewGlobalRef(lobj)	JNIEnv *		env = FETCHENV;	jobject			lobj    CODE:	{	    RETVAL = (*env)->NewGlobalRef(env, lobj);	    RESTOREENV;	}    OUTPUT:	RETVALvoidDeleteGlobalRef(gref)	JNIEnv *		env = FETCHENV;	jobject			gref    CODE:	{	    (*env)->DeleteGlobalRef(env, gref);	    RESTOREENV;	}voidDeleteLocalRef(obj)	JNIEnv *		env = FETCHENV;	jobject			obj    CODE:	{	    (*env)->DeleteLocalRef(env,  obj);	    RESTOREENV;	}jbooleanIsSameObject(obj1,obj2)	JNIEnv *		env = FETCHENV;	jobject			obj1	jobject			obj2    CODE:	{	    RETVAL = (*env)->IsSameObject(env, obj1,obj2);	    RESTOREENV;	}    OUTPUT:	RETVALjobjectAllocObject(clazz)	JNIEnv *		env = FETCHENV;	jclass			clazz    CODE:	{	    RETVAL = (*env)->AllocObject(env, clazz);	    RESTOREENV;	}    OUTPUT:	RETVALjobjectNewObject(clazz,methodID,...)	JNIEnv *		env = FETCHENV;	jclass			clazz	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->NewObjectA(env, clazz,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjobjectNewObjectA(clazz,methodID,args)	JNIEnv *		env = FETCHENV;	jclass			clazz	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->NewObjectA(env, clazz,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjclassGetObjectClass(obj)	JNIEnv *		env = FETCHENV;	jobject			obj    CODE:	{	    RETVAL = (*env)->GetObjectClass(env, obj);	    RESTOREENV;	}    OUTPUT:	RETVALjbooleanIsInstanceOf(obj,clazz)	JNIEnv *		env = FETCHENV;	jobject			obj	jclass			clazz    CODE:	{	    RETVAL = (*env)->IsInstanceOf(env, obj,clazz);	    RESTOREENV;	}    OUTPUT:	RETVALjmethodIDGetMethodID(clazz,name,sig)	JNIEnv *		env = FETCHENV;	jclass			clazz	const char *		name	const char *		sig    CODE:	{	    RETVAL = (*env)->GetMethodID(env, clazz,name,sig);	    RESTOREENV;	}    OUTPUT:	RETVALjobjectCallObjectMethod(obj,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallObjectMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjobjectCallObjectMethodA(obj,methodID,args)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallObjectMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjbooleanCallBooleanMethod(obj,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallBooleanMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjbooleanCallBooleanMethodA(obj,methodID, args)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallBooleanMethodA(env, obj,methodID, args);	    RESTOREENV;	}    OUTPUT:	RETVALjbyteCallByteMethod(obj,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallByteMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjbyteCallByteMethodA(obj,methodID,args)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallByteMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjcharCallCharMethod(obj,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallCharMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjcharCallCharMethodA(obj,methodID,args)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallCharMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjshortCallShortMethod(obj,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallShortMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjshortCallShortMethodA(obj,methodID,args)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallShortMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjintCallIntMethod(obj,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallIntMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjintCallIntMethodA(obj,methodID,args)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallIntMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjlongCallLongMethod(obj,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallLongMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjlongCallLongMethodA(obj,methodID,args)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallLongMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjfloatCallFloatMethod(obj,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallFloatMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjfloatCallFloatMethodA(obj,methodID,args)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallFloatMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjdoubleCallDoubleMethod(obj,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallDoubleMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjdoubleCallDoubleMethodA(obj,methodID,args)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallDoubleMethodA(env, obj,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALvoidCallVoidMethod(obj,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    (*env)->CallVoidMethodA(env, obj,methodID,args);	    RESTOREENV;	}voidCallVoidMethodA(obj,methodID,args)	JNIEnv *		env = FETCHENV;	jobject			obj	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    (*env)->CallVoidMethodA(env, obj,methodID,args);	    RESTOREENV;	}jobjectCallNonvirtualObjectMethod(obj,clazz,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jclass			clazz	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallNonvirtualObjectMethodA(env, obj,clazz,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjobjectCallNonvirtualObjectMethodA(obj,clazz,methodID,args)	JNIEnv *		env = FETCHENV;	jobject			obj	jclass			clazz	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallNonvirtualObjectMethodA(env, obj,clazz,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjbooleanCallNonvirtualBooleanMethod(obj,clazz,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jclass			clazz	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallNonvirtualBooleanMethodA(env, obj,clazz,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjbooleanCallNonvirtualBooleanMethodA(obj,clazz,methodID, args)	JNIEnv *		env = FETCHENV;	jobject			obj	jclass			clazz	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallNonvirtualBooleanMethodA(env, obj,clazz,methodID, args);	    RESTOREENV;	}    OUTPUT:	RETVALjbyteCallNonvirtualByteMethod(obj,clazz,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jclass			clazz	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallNonvirtualByteMethodA(env, obj,clazz,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjbyteCallNonvirtualByteMethodA(obj,clazz,methodID,args)	JNIEnv *		env = FETCHENV;	jobject			obj	jclass			clazz	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallNonvirtualByteMethodA(env, obj,clazz,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjcharCallNonvirtualCharMethod(obj,clazz,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jclass			clazz	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:	{	    jvalue * args = makeargs(sig, &ST(argoff), items - argoff);	    RETVAL = (*env)->CallNonvirtualCharMethodA(env, obj,clazz,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjcharCallNonvirtualCharMethodA(obj,clazz,methodID,args)	JNIEnv *		env = FETCHENV;	jobject			obj	jclass			clazz	jmethodID		methodID	char *			sig = 0;	jvalue *		args    CODE:	{	    RETVAL = (*env)->CallNonvirtualCharMethodA(env, obj,clazz,methodID,args);	    RESTOREENV;	}    OUTPUT:	RETVALjshortCallNonvirtualShortMethod(obj,clazz,methodID,...)	JNIEnv *		env = FETCHENV;	jobject			obj	jclass			clazz	jmethodID		methodID	char *			sig = 0;	int			argoff = $min_args;    CODE:

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?