summaryrefslogtreecommitdiff
path: root/libjava/gnu/gcj/runtime/FirstThread.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu/gcj/runtime/FirstThread.java')
-rw-r--r--libjava/gnu/gcj/runtime/FirstThread.java48
1 files changed, 9 insertions, 39 deletions
diff --git a/libjava/gnu/gcj/runtime/FirstThread.java b/libjava/gnu/gcj/runtime/FirstThread.java
index 469d5dde588..fd59261c8c8 100644
--- a/libjava/gnu/gcj/runtime/FirstThread.java
+++ b/libjava/gnu/gcj/runtime/FirstThread.java
@@ -19,59 +19,29 @@ import java.util.jar.*;
// This is entirely internal to our implementation.
-final class FirstThread extends Thread
+final class FirstThread
{
- public native void run ();
-
- public FirstThread (Class k, Object o)
- {
- super (null, null, "main");
- klass = k;
- klass_name = null;
- args = o;
- }
-
- public FirstThread (String class_name, Object o)
- {
- super (null, null, "main");
- klass = null;
- klass_name = class_name;
- args = o;
- }
-
- private static void die (String s)
- {
- System.err.println(s);
- System.exit(1);
- }
-
- public static void main (String[] args)
+ public static String getMain (String name)
{
+ String mainName = null;
try {
- JarFile j = new JarFile (args[0]);
+ JarFile j = new JarFile (name);
Attributes a = j.getManifest().getMainAttributes();
- jarMainClassName = a.getValue(Attributes.Name.MAIN_CLASS);
+ mainName = a.getValue(Attributes.Name.MAIN_CLASS);
- if (jarMainClassName != null)
- {
- jarMainClassName = jarMainClassName.replace('/','.');
- return;
- }
} catch (Exception e) {
// empty
}
- System.err.println ("Failed to load Main-Class manifest attribute from\n"
- + args[0]);
+ if (mainName == null)
+ System.err.println ("Failed to load Main-Class manifest attribute from\n"
+ + name);
+ return mainName;
}
- // If interpreter is invoked with -jar, the main class name is recorded
- // here.
- public static String jarMainClassName;
-
// Private data.
private Class klass;
private String klass_name;