summaryrefslogtreecommitdiff
path: root/compiler/main
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2011-07-11 14:30:39 +0100
committerIan Lynagh <igloo@earth.li>2011-07-12 17:55:54 +0100
commitb8394ec73d47dae7327e54677a38c7842b15503d (patch)
tree19788e0f5bfc95cb4ac3c0b0359a18abd1883c1d /compiler/main
parent69d8e7f4b36b4f834b4458eecc8704ec9deb2784 (diff)
downloadhaskell-b8394ec73d47dae7327e54677a38c7842b15503d.tar.gz
derive Typeable (eliminate deprecation warnings for mkTyCon)
Diffstat (limited to 'compiler/main')
-rw-r--r--compiler/main/HscTypes.lhs21
1 files changed, 5 insertions, 16 deletions
diff --git a/compiler/main/HscTypes.lhs b/compiler/main/HscTypes.lhs
index 7f43414111..69fc3e3807 100644
--- a/compiler/main/HscTypes.lhs
+++ b/compiler/main/HscTypes.lhs
@@ -147,8 +147,6 @@ import FastString
import StringBuffer ( StringBuffer )
import Fingerprint
import MonadUtils
-import Data.Dynamic ( Typeable )
-import qualified Data.Dynamic as Dyn
import Bag
import ErrUtils
@@ -161,6 +159,7 @@ import Data.Map (Map)
import Data.Word
import Control.Monad ( mplus, guard, liftM, when )
import Exception
+import Data.Typeable ( Typeable )
-- -----------------------------------------------------------------------------
-- Source Errors
@@ -191,18 +190,13 @@ throwOneError err = liftIO $ throwIO $ mkSrcErr $ unitBag err
--
-- See 'printExceptionAndWarnings' for more information on what to take care
-- of when writing a custom error handler.
-data SourceError = SourceError ErrorMessages
+newtype SourceError = SourceError ErrorMessages
+ deriving Typeable
instance Show SourceError where
show (SourceError msgs) = unlines . map show . bagToList $ msgs
-- ToDo: is there some nicer way to print this?
-sourceErrorTc :: Dyn.TyCon
-sourceErrorTc = Dyn.mkTyCon "SourceError"
-{-# NOINLINE sourceErrorTc #-}
-instance Typeable SourceError where
- typeOf _ = Dyn.mkTyConApp sourceErrorTc []
-
instance Exception SourceError
mkSrcErr = SourceError
@@ -219,17 +213,12 @@ handleSourceError handler act =
srcErrorMessages (SourceError msgs) = msgs
-- | XXX: what exactly is an API error?
-data GhcApiError = GhcApiError SDoc
+newtype GhcApiError = GhcApiError SDoc
+ deriving Typeable
instance Show GhcApiError where
show (GhcApiError msg) = showSDoc msg
-ghcApiErrorTc :: Dyn.TyCon
-ghcApiErrorTc = Dyn.mkTyCon "GhcApiError"
-{-# NOINLINE ghcApiErrorTc #-}
-instance Typeable GhcApiError where
- typeOf _ = Dyn.mkTyConApp ghcApiErrorTc []
-
instance Exception GhcApiError
mkApiErr = GhcApiError