Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/4e78c8a0387263ee26cf380700769720aefb57c1

>---------------------------------------------------------------

commit 4e78c8a0387263ee26cf380700769720aefb57c1
Author: Ian Lynagh <[email protected]>
Date:   Tue Jun 12 16:00:21 2012 +0100

    GhcApiError now contains a String, not an SDoc

>---------------------------------------------------------------

 compiler/main/GHC.hs       |    9 ++++++---
 compiler/main/HscTypes.lhs |    8 ++++----
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/compiler/main/GHC.hs b/compiler/main/GHC.hs
index 27f6f96..dc0730f 100644
--- a/compiler/main/GHC.hs
+++ b/compiler/main/GHC.hs
@@ -719,9 +719,11 @@ getModSummary :: GhcMonad m => ModuleName -> m ModSummary
 getModSummary mod = do
    mg <- liftM hsc_mod_graph getSession
    case [ ms | ms <- mg, ms_mod_name ms == mod, not (isBootSummary ms) ] of
-     [] -> throw $ mkApiErr (text "Module not part of module graph")
+     [] -> do dflags <- getDynFlags
+              throw $ mkApiErr dflags (text "Module not part of module graph")
      [ms] -> return ms
-     multiple -> throw $ mkApiErr (text "getModSummary is ambiguous: " <+> ppr 
multiple)
+     multiple -> do dflags <- getDynFlags
+                    throw $ mkApiErr dflags (text "getModSummary is ambiguous: 
" <+> ppr multiple)
 
 -- | Parse a module.
 --
@@ -1182,7 +1184,8 @@ getModuleSourceAndFlags :: GhcMonad m => Module -> m 
(String, StringBuffer, DynF
 getModuleSourceAndFlags mod = do
   m <- getModSummary (moduleName mod)
   case ml_hs_file $ ms_location m of
-    Nothing -> throw $ mkApiErr (text "No source available for module " <+> 
ppr mod)
+    Nothing -> do dflags <- getDynFlags
+                  throw $ mkApiErr dflags (text "No source available for 
module " <+> ppr mod)
     Just sourceFile -> do
         source <- liftIO $ hGetStringBuffer sourceFile
         return (sourceFile, source, ms_hspp_opts m)
diff --git a/compiler/main/HscTypes.lhs b/compiler/main/HscTypes.lhs
index ff618e0..6298192 100644
--- a/compiler/main/HscTypes.lhs
+++ b/compiler/main/HscTypes.lhs
@@ -181,8 +181,8 @@ mkSrcErr = SourceError
 srcErrorMessages :: SourceError -> ErrorMessages
 srcErrorMessages (SourceError msgs) = msgs
 
-mkApiErr :: SDoc -> GhcApiError
-mkApiErr = GhcApiError
+mkApiErr :: DynFlags -> SDoc -> GhcApiError
+mkApiErr _ msg = GhcApiError (showSDoc msg)
 
 throwOneError :: MonadIO m => ErrMsg -> m ab
 throwOneError err = liftIO $ throwIO $ mkSrcErr $ unitBag err
@@ -221,11 +221,11 @@ handleSourceError handler act =
   gcatch act (\(e :: SourceError) -> handler e)
 
 -- | An error thrown if the GHC API is used in an incorrect fashion.
-newtype GhcApiError = GhcApiError SDoc
+newtype GhcApiError = GhcApiError String
   deriving Typeable
 
 instance Show GhcApiError where
-  show (GhcApiError msg) = showSDoc msg
+  show (GhcApiError msg) = msg
 
 instance Exception GhcApiError
 



_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to