aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/gcj/runtime/ExtensionClassLoader.java
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2005-04-01 19:19:13 +0000
committerTom Tromey <tromey@gcc.gnu.org>2005-04-01 19:19:13 +0000
commitef87438639663154314e2cc5cd692eddaebfc799 (patch)
tree3d09f5cb569908269df7399fc0b8e4ca62d64f71 /libjava/gnu/gcj/runtime/ExtensionClassLoader.java
parent35913faefbd7d9de8847f449ac4fd750b383e75f (diff)
downloadgcc-ef87438639663154314e2cc5cd692eddaebfc799.zip
gcc-ef87438639663154314e2cc5cd692eddaebfc799.tar.gz
gcc-ef87438639663154314e2cc5cd692eddaebfc799.tar.bz2
natVMClassLoader.cc (getSystemClassLoaderInternal): Updated for name change.
* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal): Updated for name change. (nativeFindClass): New method. (loadClass): Use nativeFindClass. * java/lang/natClassLoader.cc (_Jv_FindClass): Use single-argument form of loadClass. * java/lang/VMClassLoader.java (tried_libraries, lib_control, LIB_FULL, LIB_CACHE, LIB_NEVER): New fields from old VMClassLoader. (initialize): New method. (nativeFindClass): Declare. * gnu/gcj/runtime/natVMClassLoader.cc: Removed. * gnu/gcj/runtime/VMClassLoader.java: Removed. * gnu/gcj/runtime/ExtensionClassLoader.java: Renamed from VMClassLoader.java. (definePackageForNative): Removed. (tried_libraries, LIB_CACHE, LIB_FULL, LIB_NEVER, lib_control): Moved to VMClassLoader.java. * prims.cc (_Jv_CreateJavaVM): Updated for renaming. * Makefile.am (gnu/gcj/runtime/ExtensionClassLoader.h): Renamed. (ordinary_java_source_files): Added ExtensionClassLoader.java, removed VMClassLoader.java. (nat_source_files): Removed natVMClassLoader.cc. From-SVN: r97414
Diffstat (limited to 'libjava/gnu/gcj/runtime/ExtensionClassLoader.java')
-rw-r--r--libjava/gnu/gcj/runtime/ExtensionClassLoader.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/libjava/gnu/gcj/runtime/ExtensionClassLoader.java b/libjava/gnu/gcj/runtime/ExtensionClassLoader.java
new file mode 100644
index 0000000..690143a
--- /dev/null
+++ b/libjava/gnu/gcj/runtime/ExtensionClassLoader.java
@@ -0,0 +1,40 @@
+/* Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+/* Author: Kresten Krab Thorup <krab@gnu.org> */
+
+package gnu.gcj.runtime;
+
+import java.net.URL;
+
+// The extension loader for libgcj. Class loader bootstrap is a bit
+// tricky, see prims.cc and SystemClassLoader for some details.
+public final class ExtensionClassLoader extends HelperClassLoader
+{
+ private ExtensionClassLoader ()
+ {
+ }
+
+ private void init()
+ {
+ addDirectoriesFromProperty("java.ext.dirs");
+ }
+
+ // This can be package-private because we only call it from native
+ // code during startup.
+ static void initialize ()
+ {
+ instance.init();
+ system_instance.init();
+ }
+
+ // The only ExtensionClassLoader that can exist.
+ static ExtensionClassLoader instance = new ExtensionClassLoader();
+ // The system class loader.
+ static SystemClassLoader system_instance = new SystemClassLoader(instance);
+}