Index: TreeClassLoader.java =================================================================== RCS file: /usr/local/cvs/case/djava/sources/koala/dynamicjava/interpreter/TreeClassLoader.java,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 TreeClassLoader.java --- TreeClassLoader.java 3 Jun 2002 08:58:53 -0000 1.1.1.1 +++ TreeClassLoader.java 5 Jun 2002 12:11:57 -0000 @@ -36,6 +36,10 @@ import koala.dynamicjava.tree.*; import koala.dynamicjava.util.*; +import java.security.AccessController; +import java.security.PrivilegedExceptionAction; +import java.security.PrivilegedActionException; + /** * This class is responsible for loading bytecode classes * @@ -70,7 +74,17 @@ * @param i the object used to interpret the classes */ public TreeClassLoader(Interpreter i) { interpreter = i; } /** @@ -154,6 +168,16 @@ } catch (ClassNotFoundException e) { } - return interpreter.loadClass(name); + final String clsName = name; + try { + return (Class) AccessController.doPrivileged( + new PrivilegedExceptionAction() { + public Object run() throws ClassNotFoundException { + return interpreter.loadClass(clsName); + } + }); + } catch (PrivilegedActionException pae) { + throw (ClassNotFoundException) pae.getException(); + } } }