aboutsummaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.jni
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/testsuite/libjava.jni')
-rw-r--r--libjava/testsuite/libjava.jni/pr23739.c12
-rw-r--r--libjava/testsuite/libjava.jni/pr23739.java22
-rw-r--r--libjava/testsuite/libjava.jni/pr23739.out3
3 files changed, 37 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.jni/pr23739.c b/libjava/testsuite/libjava.jni/pr23739.c
new file mode 100644
index 0000000..0f6bfbe
--- /dev/null
+++ b/libjava/testsuite/libjava.jni/pr23739.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+#include "pr23739.h"
+
+JNIEXPORT void JNICALL
+Java_pr23739_checkOrder (JNIEnv *env, jclass cls, jclass clazz1, jclass clazz2)
+{
+ printf ("B extends A\n");
+ printf ("isAssignableFrom (A, B): %d\n",
+ (*env)->IsAssignableFrom (env, clazz1, clazz2));
+ printf ("isAssignableFrom (B, A): %d\n",
+ (*env)->IsAssignableFrom (env, clazz2, clazz1));
+}
diff --git a/libjava/testsuite/libjava.jni/pr23739.java b/libjava/testsuite/libjava.jni/pr23739.java
new file mode 100644
index 0000000..b2e54c5
--- /dev/null
+++ b/libjava/testsuite/libjava.jni/pr23739.java
@@ -0,0 +1,22 @@
+public class pr23739
+{
+ static
+ {
+ System.loadLibrary ("pr23739");
+ }
+
+ public static class A
+ {
+ }
+
+ public static class B extends A
+ {
+ }
+
+ static native void checkOrder (Class clazz1, Class clazz2);
+
+ public static void main (String[] args)
+ {
+ checkOrder (A.class, B.class);
+ }
+}
diff --git a/libjava/testsuite/libjava.jni/pr23739.out b/libjava/testsuite/libjava.jni/pr23739.out
new file mode 100644
index 0000000..3e94564
--- /dev/null
+++ b/libjava/testsuite/libjava.jni/pr23739.out
@@ -0,0 +1,3 @@
+B extends A
+isAssignableFrom (A, B): 0
+isAssignableFrom (B, A): 1