From 1ea63ef8be1cc54dd0de9d82c684713a1dcf1e06 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 23 Sep 2005 21:31:04 +0000 Subject: Imported Classpath 0.18. * sources.am, Makefile.in: Updated. * Makefile.am (nat_source_files): Removed natProxy.cc. * java/lang/reflect/natProxy.cc: Removed. * gnu/classpath/jdwp/VMFrame.java, gnu/classpath/jdwp/VMIdManager.java, gnu/classpath/jdwp/VMVirtualMachine.java, java/lang/reflect/VMProxy.java: New files. 2005-09-23 Thomas Fitzsimmons * scripts/makemake.tcl (verbose): Add gnu/java/awt/peer/qt to BC list. 2005-09-23 Thomas Fitzsimmons * gnu/java/net/DefaultContentHandlerFactory.java (getContent): Remove ClasspathToolkit references. 2005-09-23 Thomas Fitzsimmons * gnu/awt/xlib/XCanvasPeer.java: Add new peer methods. * gnu/awt/xlib/XFramePeer.java: Likewise. * gnu/awt/xlib/XGraphicsConfiguration.java: Likewise. 2005-09-23 Thomas Fitzsimmons * Makefile.am (libgcjawt_la_SOURCES): Remove jawt.c. Add classpath/native/jawt/jawt.c. * Makefile.in: Regenerate. * jawt.c: Remove file. * include/Makefile.am (tool_include__HEADERS): Remove jawt.h and jawt_md.h. Add ../classpath/include/jawt.h and ../classpath/include/jawt_md.h. * include/Makefile.in: Regenerate. * include/jawt.h: Regenerate. * include/jawt_md.h: Regenerate. From-SVN: r104586 --- .../classpath/vm/reference/java/lang/VMClass.java | 32 ++++++---------------- .../vm/reference/java/lang/VMClassLoader.java | 7 +++++ 2 files changed, 15 insertions(+), 24 deletions(-) (limited to 'libjava/classpath/vm/reference/java/lang') diff --git a/libjava/classpath/vm/reference/java/lang/VMClass.java b/libjava/classpath/vm/reference/java/lang/VMClass.java index 0ca0329..a48e299 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 c62f0a4..4fe1240 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); } -- cgit v1.1