summaryrefslogtreecommitdiff
path: root/sources/meta/util/AbstractMain.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/meta/util/AbstractMain.java')
-rw-r--r--sources/meta/util/AbstractMain.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/sources/meta/util/AbstractMain.java b/sources/meta/util/AbstractMain.java
new file mode 100644
index 0000000000..b7a3e190ff
--- /dev/null
+++ b/sources/meta/util/AbstractMain.java
@@ -0,0 +1,38 @@
+/* ____ ____ ____ ____ ______ *\
+** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala **
+** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL **
+** /_____/\____/\___/\____/____/ **
+\* */
+
+// $Id$
+
+package meta.util;
+
+/** A base class for Java programs. */
+public abstract class AbstractMain {
+
+ //########################################################################
+ // Public Functions
+
+ public static String script() {
+ StackTraceElement[] stack = new Throwable().getStackTrace();
+ return stack[stack.length - 1].getClassName();
+ }
+
+ public static Error abort() {
+ System.exit(1);
+ throw new Error("abort");
+ }
+
+ public static Error abort(String error) {
+ System.err.println(script() + ": " + error);
+ System.exit(1);
+ throw new Error();
+ }
+
+ public static Error abort(Exception exception) {
+ return abort("caught exception " + exception.toString());
+ }
+
+ //########################################################################
+}