diff options
| author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-06-01 07:45:55 +0000 |
|---|---|---|
| committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-06-01 07:45:55 +0000 |
| commit | 2114cdb6787393a55e2ec0b9951b90bba0752117 (patch) | |
| tree | fc9999a1fb7eef2f890035a3561bfc6b284813d7 /libjava/gnu/java | |
| parent | b5262297911b32f18d02fbf1e79df0a404cb182c (diff) | |
| download | ppe42-gcc-2114cdb6787393a55e2ec0b9951b90bba0752117.tar.gz ppe42-gcc-2114cdb6787393a55e2ec0b9951b90bba0752117.zip | |
2006-05-31 Bryce McKinlay <mckinlay@redhat.com>
* prims.cc (_Jv_RunMain): Use JvNewStringUTF for command-line class
name, not Latin1.
* gnu/java/lang/MainThread.java (run): Allow file separator char to
be used in place of '.' as class-name separator. Don't chain
ClassNotFoundException.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114300 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/java')
| -rw-r--r-- | libjava/gnu/java/lang/MainThread.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libjava/gnu/java/lang/MainThread.java b/libjava/gnu/java/lang/MainThread.java index c35359f0e5a..470de0c3a68 100644 --- a/libjava/gnu/java/lang/MainThread.java +++ b/libjava/gnu/java/lang/MainThread.java @@ -39,6 +39,7 @@ exception statement from your version. */ package gnu.java.lang; +import java.io.File; import java.util.jar.Attributes; import java.util.jar.JarFile; @@ -91,13 +92,14 @@ final class MainThread extends Thread { try { - klass = Class.forName(klass_name, true, - ClassLoader.getSystemClassLoader()); + ClassLoader cl = ClassLoader.getSystemClassLoader(); + // Permit main class name to be specified in file-system format. + klass_name = klass_name.replace(File.separatorChar, '.'); + klass = cl.loadClass(klass_name); } catch (ClassNotFoundException x) { NoClassDefFoundError ncdfe = new NoClassDefFoundError(klass_name); - ncdfe.initCause(x); throw ncdfe; } } |

