diff options
Diffstat (limited to 'libjava/testsuite/libjava.jni/field.c')
-rw-r--r-- | libjava/testsuite/libjava.jni/field.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.jni/field.c b/libjava/testsuite/libjava.jni/field.c new file mode 100644 index 000000000..bce0cc896 --- /dev/null +++ b/libjava/testsuite/libjava.jni/field.c @@ -0,0 +1,24 @@ +#include <jni.h> +#include <field.h> + +JNIEXPORT jobjectArray JNICALL +Java_field_fetch (JNIEnv *env, jobject this) +{ + jclass cls; + jfieldID fid; + jobjectArray obj; + + cls = (*env)->GetObjectClass (env, this); + if (! cls) + return 0; + + fid = (*env)->GetFieldID (env, cls, "F", "[Ljava/lang/Object;"); + if (! fid) + return 0; + + obj = (*env)->GetObjectField (env, this, fid); + + return obj; +} + + |