38 |
|
|
39 |
package java.lang; |
package java.lang; |
40 |
|
|
41 |
|
import gnu.classpath.VMStackWalker; |
42 |
|
|
43 |
import java.io.InputStream; |
import java.io.InputStream; |
44 |
import java.io.Serializable; |
import java.io.Serializable; |
45 |
import java.lang.reflect.Constructor; |
import java.lang.reflect.Constructor; |
159 |
Class result = VMClass.forName (name); |
Class result = VMClass.forName (name); |
160 |
if (result == null) |
if (result == null) |
161 |
result = Class.forName(name, true, |
result = Class.forName(name, true, |
162 |
VMSecurityManager.getClassContext()[1].getClassLoader()); |
VMStackWalker.getCallingClassLoader()); |
163 |
return result; |
return result; |
164 |
} |
} |
165 |
|
|
200 |
SecurityManager sm = SecurityManager.current; |
SecurityManager sm = SecurityManager.current; |
201 |
if (sm != null) |
if (sm != null) |
202 |
{ |
{ |
203 |
// Get the calling class and classloader |
// Get the calling classloader |
204 |
Class c = VMSecurityManager.getClassContext()[1]; |
ClassLoader cl = VMStackWalker.getCallingClassLoader(); |
|
ClassLoader cl = c.getClassLoader(); |
|
205 |
if (cl != null) |
if (cl != null) |
206 |
sm.checkPermission(new RuntimePermission("getClassLoader")); |
sm.checkPermission(new RuntimePermission("getClassLoader")); |
207 |
} |
} |
279 |
SecurityManager sm = SecurityManager.current; |
SecurityManager sm = SecurityManager.current; |
280 |
if (sm != null) |
if (sm != null) |
281 |
{ |
{ |
282 |
// Get the calling class and classloader |
// Get the calling classloader |
283 |
Class c = VMSecurityManager.getClassContext()[1]; |
ClassLoader cl = VMStackWalker.getCallingClassLoader(); |
|
ClassLoader cl = VMClass.getClassLoader(c); |
|
284 |
if (cl != null && !cl.isAncestorOf(loader)) |
if (cl != null && !cl.isAncestorOf(loader)) |
285 |
sm.checkPermission(new RuntimePermission("getClassLoader")); |
sm.checkPermission(new RuntimePermission("getClassLoader")); |
286 |
} |
} |
1132 |
int modifiers = constructor.getModifiers(); |
int modifiers = constructor.getModifiers(); |
1133 |
if (!Modifier.isPublic(modifiers)) |
if (!Modifier.isPublic(modifiers)) |
1134 |
{ |
{ |
1135 |
Class caller = VMSecurityManager.getClassContext()[1]; |
Class caller = VMStackWalker.getCallingClass(); |
1136 |
if (caller != this && |
if (caller != null && |
1137 |
|
caller != this && |
1138 |
(Modifier.isPrivate(modifiers) |
(Modifier.isPrivate(modifiers) |
1139 |
|| getClassLoader() != caller.getClassLoader() |
|| getClassLoader() != caller.getClassLoader() |
1140 |
|| !getPackagePortion(getName()) |
|| !getPackagePortion(getName()) |