* 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
+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.
+
2006-05-31 Thomas Fitzsimmons <fitzsim@redhat.com>
* java/lang/VMClassLoader.java (initialize): Set default library
package gnu.java.lang;
+import java.io.File;
import java.util.jar.Attributes;
import java.util.jar.JarFile;
{
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;
}
}
if (klass)
main_thread = new MainThread (klass, arg_vec);
else
- main_thread = new MainThread (JvNewStringLatin1 (name),
+ main_thread = new MainThread (JvNewStringUTF (name),
arg_vec, is_jar);
}
catch (java::lang::Throwable *t)