X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fhpc%2FHpcShowTix.hs;h=7fd651550aee613841a919d893c4b3071d8aa108;hb=8e4e15d8e837b90190b6b8e7645822772cab2053;hp=c353e1b2780e80bad78c565f25005ddeca59dbc0;hpb=4799dfb37be922c17451f8e0f7c8d765a7a7eaab;p=ghc-hetmet.git diff --git a/utils/hpc/HpcShowTix.hs b/utils/hpc/HpcShowTix.hs index c353e1b..7fd6515 100644 --- a/utils/hpc/HpcShowTix.hs +++ b/utils/hpc/HpcShowTix.hs @@ -2,12 +2,12 @@ module HpcShowTix (showtix_plugin) where import Trace.Hpc.Mix import Trace.Hpc.Tix -import Trace.Hpc.Util import HpcFlags -import qualified HpcSet as Set +import qualified Data.Set as Set +showtix_options :: FlagOptSeq showtix_options = excludeOpt . includeOpt @@ -15,6 +15,7 @@ showtix_options . hpcDirOpt . outputOpt +showtix_plugin :: Plugin showtix_plugin = Plugin { name = "show" , usage = "[OPTION] .. [ [ ..]]" , options = showtix_options @@ -25,8 +26,8 @@ showtix_plugin = Plugin { name = "show" } - -showtix_main flags [] = hpcError showtix_plugin $ "no .tix file or executable name specified" +showtix_main :: Flags -> [String] -> IO () +showtix_main _ [] = hpcError showtix_plugin $ "no .tix file or executable name specified" showtix_main flags (prog:modNames) = do let hpcflags1 = flags { includeMods = Set.fromList modNames @@ -38,7 +39,7 @@ showtix_main flags (prog:modNames) = do Nothing -> hpcError showtix_plugin $ "could not read .tix file : " ++ prog Just (Tix tixs) -> do tixs_mixs <- sequence - [ do mix <- readMixWithFlags hpcflags1 (tixModuleName tix) + [ do mix <- readMixWithFlags hpcflags1 (Right tix) return $ (tix,mix) | tix <- tixs , allowModule hpcflags1 (tixModuleName tix) @@ -50,10 +51,10 @@ showtix_main flags (prog:modNames) = do sequence_ [ sequence_ [ putStrLn (rjust 5 (show ix) ++ " " ++ rjust 10 (show count) ++ " " ++ ljust 20 modName ++ " " ++ rjust 20 (show pos) ++ " " ++ show lab) - | (count,ix,(pos,lab)) <- zip3 tixs [(0::Int)..] entries + | (count,ix,(pos,lab)) <- zip3 tixs' [(0::Int)..] entries ] - | ( TixModule modName hash _ tixs - , Mix _file _timestamp _hash _tab entries + | ( TixModule modName _hash1 _ tixs' + , Mix _file _timestamp _hash2 _tab entries ) <- tixs_mixs ]