diff options
Diffstat (limited to 'libjava/classpath/vm/reference/java/lang')
-rw-r--r-- | libjava/classpath/vm/reference/java/lang/VMClass.java | 32 | ||||
-rw-r--r-- | libjava/classpath/vm/reference/java/lang/VMClassLoader.java | 7 |
2 files changed, 15 insertions, 24 deletions
diff --git a/libjava/classpath/vm/reference/java/lang/VMClass.java b/libjava/classpath/vm/reference/java/lang/VMClass.java index 0ca0329ba30..a48e299ee6c 100644 --- a/libjava/classpath/vm/reference/java/lang/VMClass.java +++ b/libjava/classpath/vm/reference/java/lang/VMClass.java @@ -245,18 +245,22 @@ final class VMClass static native ClassLoader getClassLoader(Class klass); /** - * VM implementors are free to make this method a noop if - * the default implementation is acceptable. + * Load the requested class and record the specified loader as the + * initiating class loader. * * @param name the name of the class to find + * @param initialize should the class initializer be run? + * @param loader the class loader to use (or null for the bootstrap loader) * @return the Class object representing the class or null for noop * @throws ClassNotFoundException if the class was not found by the - * classloader + * class loader * @throws LinkageError if linking the class fails * @throws ExceptionInInitializerError if the class loads, but an exception * occurs during initialization */ - static native Class forName(String name) throws ClassNotFoundException; + static native Class forName(String name, boolean initialize, + ClassLoader loader) + throws ClassNotFoundException; /** * Return whether this class is an array type. @@ -268,26 +272,6 @@ final class VMClass static native boolean isArray(Class klass); /** - * This method should trigger class initialization (if the - * class hasn't already been initialized) - * - * @param klass the Class object that's calling us - * @throws ExceptionInInitializerError if an exception - * occurs during initialization - */ - static native void initialize(Class klass); - - /** - * Load an array class. - * - * @return the Class object representing the class - * @throws ClassNotFoundException if the class was not found by the - * classloader - */ - static native Class loadArrayClass(String name, ClassLoader classloader) - throws ClassNotFoundException; - - /** * Throw a checked exception without declaring it. */ static native void throwException(Throwable t); diff --git a/libjava/classpath/vm/reference/java/lang/VMClassLoader.java b/libjava/classpath/vm/reference/java/lang/VMClassLoader.java index c62f0a4d98e..4fe12403622 100644 --- a/libjava/classpath/vm/reference/java/lang/VMClassLoader.java +++ b/libjava/classpath/vm/reference/java/lang/VMClassLoader.java @@ -282,4 +282,11 @@ final class VMClassLoader { return ClassLoader.defaultGetSystemClassLoader(); } + + /** + * Find the class if this class loader previously defined this class + * or if this class loader has been recorded as the initiating class loader + * for this class. + */ + static native Class findLoadedClass(ClassLoader cl, String name); } |