* src/vmcore/class.h: Likewise.
* src/native/vm/java_lang_Class.c
(_Jv_java_lang_Class_getClassLoader): Removed.
* src/native/vm/java_lang_Class.h: Likewise.
* src/native/vm/gnu/java_lang_VMClass.c (getClassLoader): Use
class_get_classloader.
* src/native/vm/sun/jvm.c (JVM_GetClassLoader): Likewise.
*/
JNIEXPORT java_lang_ClassLoader* JNICALL Java_java_lang_VMClass_getClassLoader(JNIEnv *env, jclass clazz, java_lang_Class *klass)
{
- return _Jv_java_lang_Class_getClassLoader(klass);
+ classinfo *c;
+ classloader *cl;
+
+ c = LLNI_classinfo_unwrap(klass);
+ cl = class_get_classloader(c);
+
+ return cl;
}
return oa;
}
-
-/*
- * Class: java/lang/Class
- * Method: getClassLoader
- * Signature: ()Ljava/lang/ClassLoader;
- */
-java_lang_ClassLoader *_Jv_java_lang_Class_getClassLoader(java_lang_Class *klass)
-{
- classinfo *c;
- classloader *cl;
-
- c = LLNI_classinfo_unwrap(klass);
- cl = c->classloader;
-
- if (cl == NULL)
- return NULL;
- else
-#if defined(ENABLE_HANDLES)
- /* the classloader entry itself is the handle */
- return (java_lang_ClassLoader *) cl;
-#else
- /* get the object out of the classloader entry */
- return (java_lang_ClassLoader *) cl->object;
-#endif
-}
-
#endif /* defined(ENABLE_JAVASE) */
java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredFields(java_lang_Class *klass, s4 publicOnly);
java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredMethods(java_lang_Class *klass, s4 publicOnly);
java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredConstructors(java_lang_Class *klass, s4 publicOnly);
-java_lang_ClassLoader *_Jv_java_lang_Class_getClassLoader(java_lang_Class *klass);
#endif
JNIEXPORT int32_t JNICALL _Jv_java_lang_Class_isArray(JNIEnv *env, java_lang_Class *this);
jobject JVM_GetClassLoader(JNIEnv *env, jclass cls)
{
+ classinfo *c;
+ classloader *cl;
+
TRACEJVMCALLS("JVM_GetClassLoader(env=%p, cls=%p)", env, cls);
- return (jobject) _Jv_java_lang_Class_getClassLoader((java_lang_Class *) cls);
+ c = LLNI_classinfo_unwrap(cls);
+ cl = class_get_classloader(c);
+
+ return (jobject) cl;
}
}
+/* class_get_classloader *******************************************************
+
+ Return the classloader of the given class.
+
+*******************************************************************************/
+
+classloader *class_get_classloader(classinfo *c)
+{
+ classloader *cl;
+
+ cl = c->classloader;
+
+ if (cl == NULL)
+ return NULL;
+
+#if defined(ENABLE_HANDLES)
+ /* The classloader entry itself is the handle. */
+
+ return cl;
+#else
+ /* Get the object out of the classloader entry. */
+ /* Cast to prevent warning (will be removed). */
+
+ return (classloader *) cl->object;
+#endif
+}
+
+
/* class_get_superclass ********************************************************
Return the super class of the given class.
bool class_is_localclass(classinfo *c);
bool class_is_memberclass(classinfo *c);
+classloader *class_get_classloader(classinfo *c);
classinfo *class_get_superclass(classinfo *c);
classinfo *class_get_componenttype(classinfo *c);
java_handle_objectarray_t *class_get_declaredclasses(classinfo *c, bool publicOnly);