aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/Throwable.java
diff options
context:
space:
mode:
authorAndrew Haley <aph@cygnus.com>2000-01-17 15:45:24 +0000
committerAndrew Haley <aph@gcc.gnu.org>2000-01-17 15:45:24 +0000
commit283a159fe38e477d93b189d43888f1e42043c0af (patch)
treee7424bbdd7c568c2f6f24481d328b24bade92628 /libjava/java/lang/Throwable.java
parent1353681247458baa6a3df8375b786df8ace7664c (diff)
downloadgcc-283a159fe38e477d93b189d43888f1e42043c0af.zip
gcc-283a159fe38e477d93b189d43888f1e42043c0af.tar.gz
gcc-283a159fe38e477d93b189d43888f1e42043c0af.tar.bz2
natThrowable.cc: New file.
2000-01-14 Andrew Haley <aph@cygnus.com> * java/lang/natThrowable.cc: New file. * java/lang/Throwable.java (fillInStackTrace): Make native. (printStackTrace): Call native method to do this. (Throwable): Call fillInStackTrace. (stackTrace): New variable. * include/jvm.h: Add _Jv_ThisExecutable functions. * prims.cc: (_Jv_execName): New variable. (catch_segv): Call fillInStackTrace. (catch_fpe): Ditto. (_Jv_ThisExecutable): New functions. (JvRunMain): Set the name of this executable. * Makefile.am: Add java/lang/natThrowable.cc. Add name-finder.cc. * Makefile.in: Rebuilt. * acconfig.h: Add HAVE_PROC_SELF_EXE. * configure.in: Force link with __frame_state_for in FORCELIBGCCSPEC. Add new checks for backtrace. * include/config.h.in: Rebuilt. * name-finder.cc: New file. * include/name-finder.h: New file. From-SVN: r31460
Diffstat (limited to 'libjava/java/lang/Throwable.java')
-rw-r--r--libjava/java/lang/Throwable.java71
1 files changed, 34 insertions, 37 deletions
diff --git a/libjava/java/lang/Throwable.java b/libjava/java/lang/Throwable.java
index 5ae39ae..faba2be 100644
--- a/libjava/java/lang/Throwable.java
+++ b/libjava/java/lang/Throwable.java
@@ -12,6 +12,7 @@ package java.lang;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.Serializable;
+import java.io.OutputStreamWriter;
/**
* @author Tom Tromey <tromey@cygnus.com>
@@ -26,55 +27,51 @@ import java.io.Serializable;
public class Throwable implements Serializable
{
- public Throwable fillInStackTrace ()
- {
- return this;
- }
+ public native Throwable fillInStackTrace ();
public String getLocalizedMessage ()
- {
- return getMessage ();
- }
+ {
+ return getMessage ();
+ }
public String getMessage ()
- {
- return detailMessage;
- }
+ {
+ return detailMessage;
+ }
public void printStackTrace ()
- {
- printStackTrace (System.err);
- }
-
- public void printStackTrace (PrintStream s)
- {
- // No stack trace, but we can still print this object.
- s.println(toString ());
- }
-
- public void printStackTrace (PrintWriter wr)
- {
- // No stack trace, but we can still print this object.
- wr.println(toString ());
- }
-
+ {
+ printStackTrace (System.err);
+ }
+
+ public void printStackTrace (PrintStream ps)
+ {
+ printStackTrace (new PrintWriter(new OutputStreamWriter(ps)));
+ }
+
+ public native void printStackTrace (PrintWriter wr);
+
public Throwable ()
- {
- detailMessage = null;
- }
+ {
+ detailMessage = null;
+ fillInStackTrace ();
+ }
public Throwable (String message)
- {
- detailMessage = message;
- }
+ {
+ detailMessage = message;
+ fillInStackTrace ();
+ }
public String toString ()
- {
- return ((detailMessage == null)
- ? getClass().getName()
- : getClass().getName() + ": " + getMessage ());
- }
+ {
+ return ((detailMessage == null)
+ ? getClass().getName()
+ : getClass().getName() + ": " + getMessage ());
+ }
// Name of this field comes from serialization spec.
private String detailMessage;
+
+ private byte stackTrace[];
}