-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Code Coverage Library for Haskell -- -- This package provides the code coverage library for Haskell. -- -- See http://www.haskell.org/haskellwiki/Haskell_program_coverage -- for more information. @package hpc @version 0.6.0.1 -- | Minor utilities for the HPC tools. module Trace.Hpc.Util -- | HpcPos is an Hpc local rendition of a Span. data HpcPos -- | fromHpcPos explodes the HpcPos into -- line:column-line:colunm fromHpcPos :: HpcPos -> (Int, Int, Int, Int) -- | toHpcPos implodes to HpcPos, from -- line:column-line:colunm toHpcPos :: (Int, Int, Int, Int) -> HpcPos -- | Predicate determining whether the first argument is inside the second -- argument. insideHpcPos :: HpcPos -> HpcPos -> Bool class HpcHash a toHash :: HpcHash a => a -> Hash data Hash catchIO :: IO a -> (IOException -> IO a) -> IO a instance [safe] Eq HpcPos instance [safe] Ord HpcPos instance [safe] Eq Hash instance [safe] HpcHash HpcPos instance [safe] (HpcHash a, HpcHash b) => HpcHash (a, b) instance [safe] HpcHash a => HpcHash [a] instance [safe] HpcHash Bool instance [safe] HpcHash Char instance [safe] HpcHash Integer instance [safe] HpcHash Int instance [safe] Num Hash instance [safe] Show Hash instance [safe] Read Hash instance [safe] Read HpcPos instance [safe] Show HpcPos -- | Datatypes and file-access routines for the tick data file -- (.tix) used by Hpc. module Trace.Hpc.Tix -- | Tix is the storage format for our dynamic imformation about -- what boxes are ticked. data Tix Tix :: [TixModule] -> Tix data TixModule TixModule :: String -> Hash -> Int -> [Integer] -> TixModule tixModuleName :: TixModule -> String tixModuleHash :: TixModule -> Hash tixModuleTixs :: TixModule -> [Integer] -- | Read a .tix File. readTix :: String -> IO (Maybe Tix) -- | Write a .tix File. writeTix :: String -> Tix -> IO () -- | getTixFullName takes a binary or .tix-file name, and -- normalizes it into a .tix-file name. getTixFileName :: String -> String instance [safe] Read TixModule instance [safe] Show TixModule instance [safe] Eq TixModule instance [safe] Read Tix instance [safe] Show Tix instance [safe] Eq Tix -- | Datatypes and file-access routines for the per-module (.mix) -- indexes used by Hpc. module Trace.Hpc.Mix -- | Mix is the information about a modules static properties, like -- location of Tix's in a file. -- -- Tab stops are the size of a tab in the provided line:colunm -- values. -- -- data Mix Mix :: FilePath -> UTCTime -> Hash -> Int -> [MixEntry] -> Mix type MixEntry = (HpcPos, BoxLabel) data BoxLabel ExpBox :: Bool -> BoxLabel TopLevelBox :: [String] -> BoxLabel LocalBox :: [String] -> BoxLabel BinBox :: CondBox -> Bool -> BoxLabel data CondBox GuardBinBox :: CondBox CondBinBox :: CondBox QualBinBox :: CondBox -- | Create is mix file. mixCreate :: String -> String -> Mix -> IO () -- | Read a mix file. readMix :: [String] -> Either String TixModule -> IO Mix createMixEntryDom :: Show a => [(HpcPos, a)] -> [MixEntryDom [a]] type MixEntryDom a = Tree (HpcPos, a) instance Read CondBox instance Show CondBox instance Eq CondBox instance Ord CondBox instance Read BoxLabel instance Show BoxLabel instance Eq BoxLabel instance Ord BoxLabel instance Show Mix instance Read Mix instance HpcHash CondBox instance HpcHash BoxLabel module Trace.Hpc.Reflect clearTix :: IO () examineTix :: IO Tix updateTix :: Tix -> IO ()