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