diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Main.hs | 60 | 
1 files changed, 0 insertions, 60 deletions
| diff --git a/src/Main.hs b/src/Main.hs index 8d6db877..e7f80566 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -33,12 +33,8 @@ import Haddock.GhcUtils  import Paths_haddock  import Control.Monad -#if __GLASGOW_HASKELL__ >= 609  import Control.OldException  import qualified Control.Exception as NewException -#else -import Control.Exception -#endif  import Data.Maybe  import Data.IORef  import qualified Data.Map as Map @@ -61,12 +57,8 @@ import GHC.Paths  import GHC hiding (flags, verbosity)  import Config  import DynFlags hiding (flags, verbosity) -#if __GLASGOW_HASKELL__ >= 609  import Panic (handleGhcException)  import MonadUtils ( MonadIO(..) ) -#else -import Util hiding (handle) -#endif  -------------------------------------------------------------------------------- @@ -96,11 +88,7 @@ handleNormalExceptions inner =  handleHaddockExceptions :: IO a -> IO a  handleHaddockExceptions inner = -#if __GLASGOW_HASKELL__ >= 609    NewException.catches inner [NewException.Handler handler] -#else -  handleDyn handler inner -#endif    where      handler (e::HaddockException) = do        putStrLn $ "haddock: " ++ (show e) @@ -109,21 +97,8 @@ handleHaddockExceptions inner =  handleGhcExceptions :: IO a -> IO a  handleGhcExceptions inner = -  -- compilation errors: messages with locations attached -#if __GLASGOW_HASKELL__ < 609 - handleDyn (\e -> do -    putStrLn "haddock: Compilation error(s):" -    printBagOfErrors defaultDynFlags (unitBag e) -    exitFailure -  ) $ -#endif -    -- error messages propagated as exceptions -#if __GLASGOW_HASKELL__ >= 609    handleGhcException (\e -> do -#else -  handleDyn (\e -> do -#endif      hFlush stdout      case e of        PhaseFailed _ code -> exitWith code @@ -159,7 +134,6 @@ main = handleTopExceptions $ do        libDir <- getGhcLibDir flags -#if __GLASGOW_HASKELL__ >= 609        -- We have one global error handler for all GHC source errors.  Other kinds        -- of exceptions will be propagated to the top-level error handler.        let handleSrcErrors action = flip handleSourceError action $ \err -> do @@ -183,23 +157,7 @@ main = handleTopExceptions $ do            -- last but not least, dump the interface file            dumpInterfaceFile (map toInstalledIface interfaces) homeLinks flags -#else -      -- initialize GHC -      (session, dynflags) <- startGhc libDir (ghcFlags flags) -      -- get packages supplied with --read-interface -      packages <- readInterfaceFiles (nameCacheFromGhc session) (ifacePairs flags) - -      -- create the interfaces -- this is the core part of Haddock -      (interfaces, homeLinks) <- createInterfaces verbosity session fileArgs flags -                                                  (map fst packages) - -      -- render the interfaces -      renderStep packages interfaces - -      -- last but not least, dump the interface file -      dumpInterfaceFile (map toInstalledIface interfaces) homeLinks flags -#endif      else do        -- get packages supplied with --read-interface        packages <- readInterfaceFiles freshNameCache (ifacePairs flags) @@ -353,21 +311,12 @@ dumpInterfaceFile ifaces homeLinks flags =  -- | Start a GHC session with the -haddock flag set. Also turn off  -- compilation and linking. -#if __GLASGOW_HASKELL__ >= 609  startGhc :: String -> [String] -> (DynFlags -> Ghc a) -> IO a  startGhc libDir flags ghcActs = do    -- TODO: handle warnings?    (restFlags, _) <- parseStaticFlags (map noLoc flags)    runGhc (Just libDir) $ do      dynflags  <- getSessionDynFlags -#else -startGhc :: String -> [String] -> IO (Session, DynFlags) -startGhc libDir flags = do -  restFlags <- parseStaticFlags flags -  session <- newSession (Just libDir) -  dynflags <- getSessionDynFlags session -  do -#endif      let dynflags' = dopt_set dynflags Opt_Haddock      let dynflags'' = dynflags' {          hscTarget = HscNothing, @@ -376,23 +325,14 @@ startGhc libDir flags = do        }      dynflags''' <- parseGhcFlags dynflags'' restFlags flags      defaultCleanupHandler dynflags''' $ do -#if __GLASGOW_HASKELL__ >= 609          setSessionDynFlags dynflags'''          ghcActs dynflags''' -#else -        setSessionDynFlags session dynflags''' -        return (session, dynflags''') -#endif    where      parseGhcFlags :: Monad m => DynFlags -> [Located String]                    -> [String] -> m DynFlags      parseGhcFlags dynflags flags_ origFlags = do        -- TODO: handle warnings? -#if __GLASGOW_HASKELL__ >= 609        (dynflags', rest, _) <- parseDynamicFlags dynflags flags_ -#else -      (dynflags', rest) <- parseDynamicFlags dynflags flags_ -#endif        if not (null rest)          then throwE ("Couldn't parse GHC options: " ++ (unwords origFlags))          else return dynflags' | 
