783 |
} |
} |
784 |
|
|
785 |
/** |
/** |
786 |
* This method invokes the method currentClassLoader for the |
* Returns he most recent user defined ClassLoader on the execution stack |
787 |
* current security manager (or build an empty one if it is not |
* or null of none is found. |
|
* present). |
|
|
* |
|
|
* @return The most recent non-system ClassLoader on the execution stack. |
|
|
* @see java.lang.SecurityManager#currentClassLoader() |
|
788 |
*/ |
*/ |
789 |
private ClassLoader currentLoader() |
private ClassLoader currentLoader() |
790 |
{ |
{ |
791 |
SecurityManager sm = System.getSecurityManager(); |
return VMObjectInputStream.currentClassLoader(); |
|
if (sm == null) |
|
|
sm = new SecurityManager () {}; |
|
|
|
|
|
return VMObjectInputStream.currentClassLoader(sm); |
|
792 |
} |
} |
793 |
|
|
794 |
/** |
/** |
875 |
protected Class resolveProxyClass(String[] intfs) |
protected Class resolveProxyClass(String[] intfs) |
876 |
throws IOException, ClassNotFoundException |
throws IOException, ClassNotFoundException |
877 |
{ |
{ |
878 |
SecurityManager sm = System.getSecurityManager(); |
ClassLoader cl = currentLoader(); |
|
|
|
|
if (sm == null) |
|
|
sm = new SecurityManager() {}; |
|
|
|
|
|
ClassLoader cl = VMObjectInputStream.currentClassLoader(sm); |
|
879 |
|
|
880 |
Class[] clss = new Class[intfs.length]; |
Class[] clss = new Class[intfs.length]; |
881 |
if(cl == null) |
if(cl == null) |