From d26eaafa9ef79bcc997536e92cf617bc73378d67 Mon Sep 17 00:00:00 2001 From: Ian Lynagh <igloo@earth.li> Date: Sat, 18 Dec 2010 21:36:22 +0000 Subject: [PATCH] Replace uses of the old catch function with the new one --- Trace/Hpc/Mix.hs | 4 ++-- Trace/Hpc/Tix.hs | 12 ++++++------ Trace/Hpc/Util.hs | 6 ++++++ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Trace/Hpc/Mix.hs b/Trace/Hpc/Mix.hs index b36c2ac..efcc559 100644 --- a/Trace/Hpc/Mix.hs +++ b/Trace/Hpc/Mix.hs @@ -28,7 +28,7 @@ import Data.Char -- been introduced in that module, accessed by tick-number position -- in the list -import Trace.Hpc.Util (HpcPos, insideHpcPos, Hash, HpcHash(..)) +import Trace.Hpc.Util (HpcPos, insideHpcPos, Hash, HpcHash(..), catchIO) import Trace.Hpc.Tix -- | 'Mix' is the information about a modules static properties, like @@ -98,7 +98,7 @@ readMix dirNames mod' = do Left _ -> True Right tix -> h == tixModuleHash tix ) -> return $ Just r - _ -> return $ Nothing) `catch` (\ _ -> return $ Nothing) + _ -> return $ Nothing) `catchIO` (\ _ -> return $ Nothing) | dirName <- dirNames ] case catMaybes res of diff --git a/Trace/Hpc/Tix.hs b/Trace/Hpc/Tix.hs index 4e49588..5752c96 100644 --- a/Trace/Hpc/Tix.hs +++ b/Trace/Hpc/Tix.hs @@ -9,7 +9,7 @@ module Trace.Hpc.Tix(Tix(..), TixModule(..), readTix, writeTix, getTixFileName) where import Data.List (isSuffixOf) -import Trace.Hpc.Util(Hash) +import Trace.Hpc.Util (Hash, catchIO) -- 'Tix ' is the storage format for our dynamic imformation about what -- boxes are ticked. @@ -34,11 +34,11 @@ tixModuleTixs (TixModule _ _ _ tixs) = tixs -- read a Tix File. readTix :: String - -> IO (Maybe Tix) -readTix tix_filename = - catch (do contents <- readFile $ tix_filename - return $ Just $ read contents) - (\ _ -> return $ Nothing) + -> IO (Maybe Tix) +readTix tix_filename = + catchIO (do contents <- readFile $ tix_filename + return $ Just $ read contents) + (\ _ -> return $ Nothing) -- write a Tix File. writeTix :: String diff --git a/Trace/Hpc/Util.hs b/Trace/Hpc/Util.hs index 47a9ca0..371a9ef 100644 --- a/Trace/Hpc/Util.hs +++ b/Trace/Hpc/Util.hs @@ -11,8 +11,10 @@ module Trace.Hpc.Util , insideHpcPos , HpcHash(..) , Hash + , catchIO ) where +import qualified Control.Exception as Exception import Data.List(foldl') import Data.Char (ord) import Data.Bits (xor) @@ -103,3 +105,7 @@ instance HpcHash HpcPos where hxor :: Hash -> Hash -> Hash hxor (Hash x) (Hash y) = Hash $ x `xor` y + +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +catchIO = Exception.catch + -- GitLab