diff options
author | Andrew Haley <aph@cygnus.com> | 2000-01-17 15:45:24 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2000-01-17 15:45:24 +0000 |
commit | 283a159fe38e477d93b189d43888f1e42043c0af (patch) | |
tree | e7424bbdd7c568c2f6f24481d328b24bade92628 /libjava/java/lang/Throwable.java | |
parent | 1353681247458baa6a3df8375b786df8ace7664c (diff) | |
download | gcc-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.java | 71 |
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[]; } |