Commit 6e5735b5 authored by sof's avatar sof
Browse files

[project @ 2001-12-05 00:06:32 by sof]

reuse Panic.showGhcException
parent 421a89ae
{-# OPTIONS -#include "Linker.h" -#include "SchedAPI.h" #-}
-----------------------------------------------------------------------------
-- $Id: InteractiveUI.hs,v 1.101 2001/10/31 12:51:08 simonmar Exp $
-- $Id: InteractiveUI.hs,v 1.102 2001/12/05 00:06:32 sof Exp $
--
-- GHC Interactive User Interface
--
......@@ -320,17 +320,12 @@ runCommand c =
showException (DynException dyn) =
case fromDynamic dyn of
Nothing ->
io (putStrLn ("*** Exception: (unknown)"))
Just (PhaseFailed phase code) ->
io (putStrLn ("Phase " ++ phase ++ " failed (code "
++ show code ++ ")"))
Just Interrupted ->
io (putStrLn "Interrupted.")
Just (CmdLineError s) ->
io (putStrLn s) -- omit the location for CmdLineError
Just other_ghc_ex ->
io (putStrLn (show other_ghc_ex))
Nothing -> io (putStrLn ("*** Exception: (unknown)"))
Just Interrupted -> io (putStrLn "Interrupted.")
Just (CmdLineError s) -> io (putStrLn s) -- omit the location for CmdLineError
Just ph@PhaseFailed{} -> io (putStrLn (showGhcException ph)) -- ditto
Just other_ghc_ex -> io (print other_ghc_ex)
showException other_exception
= io (putStrLn ("*** Exception: " ++ show other_exception))
......
......@@ -42,7 +42,8 @@ ghcError e = throwDyn e
-- assumed to contain a location already, so we don't print one).
data GhcException
= PhaseFailed String ExitCode -- an external phase (eg. cpp) failed
= PhaseFailed String -- name of phase
ExitCode -- an external phase (eg. cpp) failed
| Interrupted -- someone pressed ^C
| UsageError String -- prints the short usage msg after the error
| CmdLineError String -- cmdline prob, but doesn't print usage
......@@ -63,7 +64,14 @@ instance Show GhcException where
showGhcException (UsageError str)
= showString str . showChar '\n' . showString short_usage
showGhcException (PhaseFailed phase code)
= showString phase . showString " failed, code = " . shows code
= showString "phase `" . showString phase .
showString "' failed (exitcode = " . shows int_code .
showString ")"
where
int_code =
case code of
ExitSuccess -> (0::Int)
ExitFailure x -> x
showGhcException (CmdLineError str)
= showString str
showGhcException (ProgramError str)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment