summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang/natClass.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang/natClass.cc')
-rw-r--r--libjava/java/lang/natClass.cc19
1 files changed, 13 insertions, 6 deletions
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
index e3d4785dc33..2eec179fa64 100644
--- a/libjava/java/lang/natClass.cc
+++ b/libjava/java/lang/natClass.cc
@@ -72,7 +72,7 @@ static _Jv_Utf8Const *finit_leg_name = _Jv_makeUtf8Const ("$finit$", 7);
jclass
-java::lang::Class::forName (jstring className)
+java::lang::Class::forName (jstring className, java::lang::ClassLoader *loader)
{
if (! className)
JvThrow (new java::lang::NullPointerException);
@@ -85,10 +85,10 @@ java::lang::Class::forName (jstring className)
// IllegalArgumentException on failure.
_Jv_Utf8Const *name = _Jv_makeUtf8Const (buffer, length);
- // FIXME: should use class loader from calling method.
+ // FIXME: should use bootstrap class loader if loader is null.
jclass klass = (buffer[0] == '['
- ? _Jv_FindClassFromSignature (name->data, NULL)
- : _Jv_FindClass (name, NULL));
+ ? _Jv_FindClassFromSignature (name->data, loader)
+ : _Jv_FindClass (name, loader));
if (klass)
_Jv_InitClass (klass);
@@ -98,6 +98,13 @@ java::lang::Class::forName (jstring className)
return klass;
}
+jclass
+java::lang::Class::forName (jstring className)
+{
+ // FIXME: should use class loader from calling method.
+ return forName (className, NULL);
+}
+
java::lang::reflect::Constructor *
java::lang::Class::getConstructor (JArray<jclass> *param_types)
{
@@ -608,7 +615,7 @@ java::lang::Class::getMethods (void)
return result;
}
-jboolean
+inline jboolean
java::lang::Class::isAssignableFrom (jclass klass)
{
// Arguments may not have been initialized, given ".class" syntax.
@@ -899,7 +906,7 @@ _Jv_LookupInterfaceMethodIdx (jclass klass, jclass iface, int method_idx)
return cldt->cls.itable[idx];
}
-inline jboolean
+jboolean
_Jv_IsAssignableFrom (jclass target, jclass source)
{
if (target == &ObjectClass
OpenPOWER on IntegriCloud