2000-03-21 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/natClass.cc (isInstance): Initialize `this'.
(isAssignableFrom): Initialize `this' and `klass'.
(_Jv_IsAssignableFrom): If an interface has no idt, it is not
implemented by any loaded class, so return false.
From-SVN: r32663
+2000-03-21 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * java/lang/natClass.cc (isInstance): Initialize `this'.
+ (isAssignableFrom): Initialize `this' and `klass'.
+ (_Jv_IsAssignableFrom): If an interface has no idt, it is not
+ implemented by any loaded class, so return false.
+
2000-03-19 Warren Levy <warrenl@cygnus.com>
* java/awt/Color.java: Specified java.io for Serializable.
jboolean
java::lang::Class::isAssignableFrom (jclass klass)
{
+ // Arguments may not have been initialized, given ".class" syntax.
+ _Jv_InitClass (this);
+ _Jv_InitClass (klass);
return _Jv_IsAssignableFrom (this, klass);
}
{
if (! obj || isPrimitive ())
return false;
+ _Jv_InitClass (this);
return isAssignableFrom (obj->getClass());
}
{
_Jv_IDispatchTable *cl_idt = source->idt;
_Jv_IDispatchTable *if_idt = target->idt;
+ if (if_idt == NULL)
+ return false; // No class implementing TARGET has been loaded.
jshort cl_iindex = cl_idt->cls.iindex;
if (cl_iindex <= if_idt->iface.ioffsets[0])
{
&& cl_idt->cls.itable[offset] == target)
return true;
}
- return false;
}
return false;