2005-12-29 Paul Brook <paul@codesourcery.com>
[official-gcc.git] / libjava / testsuite / libjava.jni / iface.c
blob6d33dc01f25251837938ae596b0172a2ceef33cf
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include <iface.h>
5 void check (JNIEnv *);
7 void check(JNIEnv *env)
9 if ((*env)->ExceptionCheck(env) != JNI_FALSE)
11 fprintf(stderr, "UNEXPECTED EXCEPTION\n");
12 exit(-1);
16 void
17 Java_iface_doCalls (JNIEnv *env, jobject self, jobject other)
19 jclass iface_class, comparable_class;
20 jmethodID iface_meth, comparable_meth;
21 jvalue args[1];
23 iface_class = (*env)->FindClass(env, "iface");
24 check (env);
25 comparable_class = (*env)->FindClass (env, "mycomp");
26 check (env);
28 iface_meth = (*env)->GetMethodID (env, iface_class, "compareTo",
29 "(Ljava/lang/Object;)I");
30 check (env);
31 comparable_meth = (*env)->GetMethodID (env, comparable_class, "compareTo",
32 "(Ljava/lang/Object;)I");
33 check (env);
35 args[0].l = other;
36 (*env)->CallObjectMethodA (env, self, iface_meth, args);
37 check (env);
38 (*env)->CallObjectMethodA (env, self, comparable_meth, args);
39 check (env);