Ejemplo n.º 1
0
Class* Java_java_lang_VMClassLoader_findClassInClasspathForLoader(Env* env, Class* cls, ClassLoader* cl, Object* name) {
    char* classNameUTF = toBinaryName(env, name);
    if (!classNameUTF) return NULL;
    Class* clazz = rvmFindClassInClasspathForLoader(env, classNameUTF, cl);
    if (!clazz) return NULL;
    return clazz;
}
Ejemplo n.º 2
0
Class* Java_java_lang_Class_classForName(Env* env, Class* cls, Object* className, jboolean initializeBoolean,
            ClassLoader* classLoader) {

    if (!className) {
        rvmThrowNullPointerException(env);
        return NULL;
    }
    char* classNameUTF = toBinaryName(env, className);
    if (!classNameUTF) return NULL;
    Class* clazz = rvmFindClassUsingLoader(env, classNameUTF, classLoader);
    if (!clazz) {
        char* p = classNameUTF;
        while (*p != '\0') {
            if (*p == '/') *p = '.';
            p++;
        }
        WARNF("Class.forName() failed to load '%s'. "
              "Use the -forcelinkclasses command line option "
              "or add <forceLinkClasses><pattern>%s</pattern></forceLinkClasses> "
              "to your robovm.xml file to link it in.",
              classNameUTF, classNameUTF);
        return NULL;
    }
    if (initializeBoolean) {
        rvmInitialize(env, clazz);
        if (rvmExceptionCheck(env)) return NULL;
    }
    return clazz;
}
Ejemplo n.º 3
0
Class* Java_java_lang_VMClassLoader_findClassInClasspathForLoader(Env* env, Class* cls, Object* cl, Object* name) {
    char* classNameUTF = toBinaryName(env, name);
    if (!classNameUTF) return NULL;
    Class* clazz = rvmFindClassInClasspathForLoader(env, classNameUTF, cl);
    if (!clazz) {
        char* p = classNameUTF;
        while (*p != '\0') {
            if (*p == '/') *p = '.';
            p++;
        }
        // TODO: Should we use WARNF?
        TRACEF("VMClassLoader.findClassInClasspathForLoader() failed to load '%s'. "
              "Use the -forcelinkclasses command line option "
              "or add <forceLinkClasses><pattern>%s</pattern></forceLinkClasses> "
              "to your bugvm.xml file to link it in.",
              classNameUTF, classNameUTF);
    }
    return clazz;
}
Ejemplo n.º 4
0
Class* Java_java_lang_VMClassLoader_findLoadedClass(Env* env, Class* cls, ClassLoader* cl, Object* name) {
    char* classNameUTF = toBinaryName(env, name);
    if (!classNameUTF) return NULL;
    return rvmFindLoadedClass(env, classNameUTF, cl);
}