Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type PluginPass = PhaseInfo -> [CommandLineOption] -> ModGuts -> CoreM ModGuts
- buildPlugin :: PluginPass -> Plugin
- data CorePass
- getCorePass :: CoreToDo -> CorePass
- ghcPasses :: [(CorePass, CoreToDo)]
- data PhaseInfo = PhaseInfo {
- phaseNum :: Int
- phasesDone :: [CorePass]
- phasesLeft :: [CorePass]
- getPhaseFlag :: [CommandLineOption] -> Maybe (Int, [CommandLineOption])
The HERMIT Plugin
type PluginPass = PhaseInfo -> [CommandLineOption] -> ModGuts -> CoreM ModGuts Source
Given a list of CommandLineOption
s, produce the ModGuts
to ModGuts
function required to build a plugin.
buildPlugin :: PluginPass -> Plugin Source
Build a plugin. This mainly handles the per-module options.
An enumeration type for GHC's phases.
getCorePass :: CoreToDo -> CorePass Source
PhaseInfo | |
|
getPhaseFlag :: [CommandLineOption] -> Maybe (Int, [CommandLineOption]) Source
If HERMIT user specifies the -pN flag, get the N TODO: as written will discard other flags that start with -p