gcc/libjava/testsuite/libjava.jni/throwit.c
Ranjit Mathew 38997f1bf5 calls.c (Java_calls_docall): Define with JNIEXPORT and JNICALL method attributes.
2003-01-24  Ranjit Mathew  <rmathew@hotmail.com>

	* libjava.jni/calls.c (Java_calls_docall): Define with
	JNIEXPORT and JNICALL method attributes.
	* libjava.jni/field.c (Java_field_fetch): Likewise.
	* libjava.jni/final_method.c (Java_final_1method_meth): Likewise.
	* libjava.jni/findclass.c (Java_findclass_doit): Likewise.
	* libjava.jni/invoke.c (Java_invoke_val): Likewise.
	* libjava.jni/martin.c (Java_martin_myNative): Likewise.
	* libjava.jni/noclass.c (Java_noclass_find_1it): Likewise.
	* libjava.jni/overload.c (Java_overload_over__I): Likewise.
	(Java_overload_over__II): Likewise.
	* libjava.jni/register.c (JNI_OnLoad): Likewise.
	* libjava.jni/simple_int.c (Java_simple_1int_nat): Likewise.
	* libjava.jni/throwit.c (Java_throwit_throwit): Likewise.
	* libjava.jni/virtual.c (Java_virtual_equals): Likewise.

From-SVN: r61720
2003-01-24 17:39:49 +00:00

26 lines
712 B
C

#include <stdlib.h>
#include <throwit.h>
JNIEXPORT void JNICALL
Java_throwit_throwit (JNIEnv *env, jclass klass, jstring name,
jboolean is_new)
{
const char *buf = (*env)->GetStringUTFChars (env, name, NULL);
jclass k = (*env)->FindClass (env, buf);
(*env)->ReleaseStringUTFChars (env, name, buf);
if (k == NULL || (*env)->ExceptionCheck (env))
return;
if (is_new)
(*env)->ThrowNew (env, k, "the word is zardoz");
else
{
jmethodID id = (*env)->GetMethodID (env, k, "<init>",
"(Ljava.lang.String;)V");
jstring z = (*env)->NewStringUTF (env, "zardoz is the word");
jobject obj = (*env)->NewObject (env, k, id, z);
(*env)->Throw (env, obj);
}
}