hpc-0.5.0.6: Code Coverage Library for Haskell

Trace.Hpc.Mix

Description

Datatypes and file-access routines for the per-module (.mix) indexes used by Hpc.

Synopsis

- data Mix = Mix FilePath Integer Hash Int [MixEntry]
- type MixEntry = (HpcPos, BoxLabel)
- data BoxLabel
  - = ExpBox Bool
  - | TopLevelBox [String]
  - | LocalBox [String]
  - | BinBox CondBox Bool
- data CondBox
  - = GuardBinBox
  - | CondBinBox
  - | QualBinBox
- mixCreate :: String -> String -> Mix -> IO ()
- readMix :: [String] -> Either String TixModule -> IO Mix
- getModificationTime :: FilePath -> IO Integer
- createMixEntryDom :: Show a => [(HpcPos, a)] -> [MixEntryDom [a]]
- type MixEntryDom a = Tree (HpcPos, a)

# Documentation

data 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. * In GHC, this is 1 (a tab is just a character) * With hpc-tracer, this is 8 (a tab represents several spaces).

Constructors

Mix FilePath Integer Hash Int [MixEntry] |

Instances

Read Mix |
Show Mix |

type MixEntry = (HpcPos, BoxLabel)

data BoxLabel

Constructors

ExpBox Bool |
TopLevelBox [String] |
LocalBox [String] |
BinBox CondBox Bool |

Instances

Eq BoxLabel |
Ord BoxLabel |
Read BoxLabel |
Show BoxLabel |
HpcHash BoxLabel |

data CondBox

Constructors

GuardBinBox |
CondBinBox |
QualBinBox |

Instances

Eq CondBox |
Ord CondBox |
Read CondBox |
Show CondBox |
HpcHash CondBox |

mixCreate

Arguments

:: String | Dir Name
-> String | module Name
-> Mix | Mix DataStructure
-> IO () |

Create is mix file.

readMix

Arguments

:: [String] | Dir Names
-> Either String TixModule | module wanted
-> IO Mix |

Read a mix file.

getModificationTime :: FilePath -> IO Integer

Get modification time of a file.

createMixEntryDom :: Show a => [(HpcPos, a)] -> [MixEntryDom [a]]

type MixEntryDom a = Tree (HpcPos, a)