]> gcc.gnu.org Git - gcc.git/commitdiff
field.out: New file.
authorTom Tromey <tromey@redhat.com>
Fri, 23 Mar 2001 05:57:00 +0000 (05:57 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Fri, 23 Mar 2001 05:57:00 +0000 (05:57 +0000)
* libjava.jni/field.out: New file.
* libjava.jni/field.c: New file.
* libjava.jni/field.java: New file.

From-SVN: r40776

libjava/testsuite/ChangeLog
libjava/testsuite/libjava.jni/field.c [new file with mode: 0644]
libjava/testsuite/libjava.jni/field.java [new file with mode: 0644]
libjava/testsuite/libjava.jni/field.out [new file with mode: 0644]

index cc4281fe07054da9b133535a9c53ca5bb96cab94..77459e6b92d95ead7f73b33a9f6fe16190b101f6 100644 (file)
@@ -1,3 +1,9 @@
+2001-03-22  Tom Tromey  <tromey@redhat.com>
+
+       * libjava.jni/field.out: New file.
+       * libjava.jni/field.c: New file.
+       * libjava.jni/field.java: New file.
+
 2001-03-20  Tom Tromey  <tromey@redhat.com>
 
        * libjava.compile/uesc.java: New file.
diff --git a/libjava/testsuite/libjava.jni/field.c b/libjava/testsuite/libjava.jni/field.c
new file mode 100644 (file)
index 0000000..358c293
--- /dev/null
@@ -0,0 +1,24 @@
+#include <jni.h>
+#include <field.h>
+
+jobjectArray
+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;
+}
+
+
diff --git a/libjava/testsuite/libjava.jni/field.java b/libjava/testsuite/libjava.jni/field.java
new file mode 100644 (file)
index 0000000..bd0f749
--- /dev/null
@@ -0,0 +1,25 @@
+// Test for array field lookup.
+
+public class field
+{
+  // A field for us to look up.
+  public Object[] F = new Object[7];
+
+  public native Object[] fetch ();
+
+  public void doit ()
+  {
+    System.out.println (F == fetch ());
+  }
+
+  public static void main (String[] args)
+  {
+    field q = new field ();
+    q.doit ();
+  }
+
+  static
+  {
+    System.loadLibrary ("field");
+  }
+}
diff --git a/libjava/testsuite/libjava.jni/field.out b/libjava/testsuite/libjava.jni/field.out
new file mode 100644 (file)
index 0000000..27ba77d
--- /dev/null
@@ -0,0 +1 @@
+true
This page took 0.069052 seconds and 5 git commands to generate.