re PR libgcj/23739 (JNI: IsAssignableFrom reverses arguments)
PR libgcj/23739: * testsuite/libjava.jni/pr23739.c: New file. * testsuite/libjava.jni/pr23739.java: New file. * testsuite/libjava.jni/pr23739.out: New file. * jni.cc (_Jv_JNI_IsAssignableFrom): Reversed arguments. * java/lang/reflect/natMethod.cc (invoke): Updated. * java/lang/natClass.cc (isAssignableFrom): Updated. (isInstance): Likewise. (_Jv_IsAssignableFrom): Reversed arguments. (_Jv_IsInstanceOf): Updated. (_Jv_CheckCast): Likewise. (_Jv_CheckArrayStore): Likewise. (_Jv_IsAssignableFromSlow): Reversed arguments. (_Jv_InterfaceAssignableFrom): Likewise. * link.cc (verify_type_assertions): Updated. * prims.cc (_Jv_CheckAccess): Updated. From-SVN: r103953
This commit is contained in:
parent
3e248b8315
commit
852993e381
10 changed files with 73 additions and 17 deletions
12
libjava/testsuite/libjava.jni/pr23739.c
Normal file
12
libjava/testsuite/libjava.jni/pr23739.c
Normal file
|
@ -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));
|
||||
}
|
22
libjava/testsuite/libjava.jni/pr23739.java
Normal file
22
libjava/testsuite/libjava.jni/pr23739.java
Normal file
|
@ -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);
|
||||
}
|
||||
}
|
3
libjava/testsuite/libjava.jni/pr23739.out
Normal file
3
libjava/testsuite/libjava.jni/pr23739.out
Normal file
|
@ -0,0 +1,3 @@
|
|||
B extends A
|
||||
isAssignableFrom (A, B): 0
|
||||
isAssignableFrom (B, A): 1
|
Loading…
Add table
Add a link
Reference in a new issue