2000-06-15 Bryce McKinlay <bryce@albatross.co.nz>

Fix for PR java.lang/258:
	* prims.cc (_Jv_PrimClass): Set state of primitive class to
	JV_STATE_DONE, to prevent accidental initialization.
	* java/lang/natClass.cc (_Jv_IsAssignableFrom): Call
	_Jv_InterfaceAssignableFrom if target is an interface and source is
	an interface or an abstract class. Remove redundant initializeClass
	calls. Remove duplicate if_idt test.
	(_Jv_InterfaceAssignableFrom): New function.
	* java/lang/Class.h (_Jv_InterfaceAssignableFrom): Prototype.

From-SVN: r34563
This commit is contained in:
Bryce McKinlay 2000-06-15 12:04:50 +00:00 committed by Bryce McKinlay
parent d655f87d6f
commit 1bf8972740
2 changed files with 4 additions and 2 deletions

View File

@ -6,8 +6,9 @@
* java/lang/natClass.cc (_Jv_IsAssignableFrom): Call * java/lang/natClass.cc (_Jv_IsAssignableFrom): Call
_Jv_InterfaceAssignableFrom if target is an interface and source is an _Jv_InterfaceAssignableFrom if target is an interface and source is an
interface or an abstract class. Remove redundant initializeClass calls. interface or an abstract class. Remove redundant initializeClass calls.
Remove duplicate if_idt test. Remove duplicate if_idt test.
* java/lang/Class.h (_Jv_InterfaceAssignableFrom): New function. (_Jv_InterfaceAssignableFrom): New function.
* java/lang/Class.h (_Jv_InterfaceAssignableFrom): Prototype.
2000-05-31 Tom Tromey <tromey@cygnus.com> 2000-05-31 Tom Tromey <tromey@cygnus.com>

View File

@ -200,6 +200,7 @@ private:
friend _Jv_Method *_Jv_GetMethodLocal (jclass klass, _Jv_Utf8Const *name, friend _Jv_Method *_Jv_GetMethodLocal (jclass klass, _Jv_Utf8Const *name,
_Jv_Utf8Const *signature); _Jv_Utf8Const *signature);
friend jboolean _Jv_IsAssignableFrom(jclass, jclass); friend jboolean _Jv_IsAssignableFrom(jclass, jclass);
friend jboolean _Jv_InterfaceAssignableFrom (jclass, jclass);
friend void *_Jv_LookupInterfaceMethodIdx (jclass klass, jclass iface, friend void *_Jv_LookupInterfaceMethodIdx (jclass klass, jclass iface,
int method_idx); int method_idx);