URL
https://opencores.org/ocsvn/scarts/scarts/trunk
Subversion Repositories scarts
[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [libjava/] [gnu/] [gcj/] [runtime/] [BootClassLoader.java] - Rev 22
Go to most recent revision | Compare with Previous | Blame | View Log
/* Copyright (C) 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. */ package gnu.gcj.runtime; import java.io.IOException; import java.net.URL; import java.util.Enumeration; /** * This is a helper for the bootstrap class loader. It is a * URLClassLoader so that we can read a class path and re-use all the * existing code for finding classes, extracting them from jars, etc. * However, it is never called the way that an ordinary ClassLoader is * called. For instance, loadClass() is never used. */ public final class BootClassLoader extends HelperClassLoader { BootClassLoader(String libdir) { // The BootClassLoader is the top of the delegation chain. It does not // have a parent. super((ClassLoader) null); addDirectoriesFromProperty("java.endorsed.dirs"); addDirectoriesFromProperty("gnu.gcj.runtime.endorsed.dirs"); try { // Add core:/ to the end so any resources compiled into this // executable may be found. addURL(new URL("core", "", -1, "/")); } catch (java.net.MalformedURLException x) { // This should never happen. throw new RuntimeException(x); } } public Class bootLoadClass(String name) throws ClassNotFoundException { Class c = findLoadedClass(name); if (c == null) { try { // We could hack URLClassLoader to make this more // efficient, if it mattered. c = findClass(name); } catch (ClassNotFoundException _) { c = null; } } return c; } public URL bootGetResource(String name) { return findResource(name); } public Enumeration bootGetResources(String name) throws IOException { return findResources(name); } }
Go to most recent revision | Compare with Previous | Blame | View Log