diff options
| author | Archie Cobbs <archie@dellroad.org> | 2005-01-07 15:08:21 +0000 |
|---|---|---|
| committer | Archie Cobbs <archie@dellroad.org> | 2005-01-07 15:08:21 +0000 |
| commit | ec858596f78dd4ddc318edd3d3f4ec537780c854 (patch) | |
| tree | ea7ebb6d209ae7bbc3a1c34e3bbbea043cfbc3ec /java/lang/SecurityManager.java | |
| parent | 53a43c88b4600340bd75f20120d26ed6afdc2065 (diff) | |
| download | classpath-ec858596f78dd4ddc318edd3d3f4ec537780c854.tar.gz | |
Re-committing now that the 0.13 release has been tagged:
* NEWS: Document changes.
* java/lang/Class.java (newInstance(), getClassLoader(),
forName(String), forName(String, boolean, ClassLoader)):
Use new VMStackWalker methods.
* java/lang/ClassLoader.java (getParent(), getSystemClassLoader()):
Likewise.
* java/lang/Package.java (getPackages()): Likewise.
* java/lang/SecurityManager.java (getClassContext()): Likewise.
* java/util/ResourceBundle.java (getBundle()): Likewise.
* java/lang/Runtime.java (load(), loadLibrary()): Load the native
library using the calling class' class loader.
* java/lang/System.java (load(), loadLibrary()): Likewise.
(currentClassLoader()): implement via currentLoadedClass().
* vm/reference/gnu/classpath/VMStackWalker.java: New class.
* vm/reference/java/lang/VMRuntime.java (nativeLoad()):
Add a ClassLoader parameter.
* vm/reference/java/lang/VMSecurityManager.java: Removed.
Diffstat (limited to 'java/lang/SecurityManager.java')
| -rw-r--r-- | java/lang/SecurityManager.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/java/lang/SecurityManager.java b/java/lang/SecurityManager.java index d5c47a8d8..f47b2ff83 100644 --- a/java/lang/SecurityManager.java +++ b/java/lang/SecurityManager.java @@ -38,6 +38,8 @@ exception statement from your version. */ package java.lang; +import gnu.classpath.VMStackWalker; + import java.awt.AWTPermission; import java.io.File; import java.io.FileDescriptor; @@ -179,7 +181,10 @@ public class SecurityManager */ protected Class[] getClassContext() { - return VMSecurityManager.getClassContext(); + Class[] stack1 = VMStackWalker.getClassContext(); + Class[] stack2 = new Class[stack1.length - 1]; + System.arraycopy(stack1, 1, stack2, 0, stack1.length - 1); + return stack2; } /** @@ -201,7 +206,8 @@ public class SecurityManager */ protected ClassLoader currentClassLoader() { - return VMSecurityManager.currentClassLoader(); + Class cl = currentLoadedClass(); + return cl != null ? cl.getClassLoader() : null; } /** |
