home *** CD-ROM | disk | FTP | other *** search
- package sun.misc;
-
- import java.io.File;
- import java.io.IOException;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.net.URLClassLoader;
- import java.security.AccessControlContext;
- import java.security.AccessController;
- import java.security.CodeSource;
- import java.security.PermissionCollection;
- import java.security.ProtectionDomain;
- import java.security.cert.Certificate;
-
- class Launcher$AppClassLoader extends URLClassLoader {
- // $FF: synthetic field
- static final boolean $assertionsDisabled = !Launcher.class.desiredAssertionStatus();
-
- public static ClassLoader getAppClassLoader(ClassLoader var0) throws IOException {
- String var1 = System.getProperty("java.class.path");
- File[] var2 = var1 == null ? new File[0] : Launcher.access$200(var1);
- return (Launcher$AppClassLoader)AccessController.doPrivileged(new Launcher.AppClassLoader.1(var1, var2, var0));
- }
-
- Launcher$AppClassLoader(URL[] var1, ClassLoader var2) {
- super(var1, var2, Launcher.access$100());
- }
-
- public synchronized Class loadClass(String var1, boolean var2) throws ClassNotFoundException {
- int var3 = var1.lastIndexOf(46);
- if (var3 != -1) {
- SecurityManager var4 = System.getSecurityManager();
- if (var4 != null) {
- var4.checkPackageAccess(var1.substring(0, var3));
- }
- }
-
- return super.loadClass(var1, var2);
- }
-
- protected PermissionCollection getPermissions(CodeSource var1) {
- PermissionCollection var2 = super.getPermissions(var1);
- var2.add(new RuntimePermission("exitVM"));
- return var2;
- }
-
- private void appendToClassPathForInstrumentation(String var1) {
- if (!$assertionsDisabled && !Thread.holdsLock(this)) {
- throw new AssertionError();
- } else {
- super.addURL(Launcher.getFileURL(new File(var1)));
- }
- }
-
- private static AccessControlContext getContext(File[] var0) throws MalformedURLException {
- PathPermissions var1 = new PathPermissions(var0);
- ProtectionDomain var2 = new ProtectionDomain(new CodeSource(var1.getCodeBase(), (Certificate[])null), var1);
- AccessControlContext var3 = new AccessControlContext(new ProtectionDomain[]{var2});
- return var3;
- }
- }
-