Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type HERMITPass = IORef (Maybe (AST, ASTMap)) -> PassInfo -> [CommandLineOption] -> ModGuts -> CoreM ModGuts
- buildPlugin :: HERMITPass -> Plugin
- data CorePass
- getCorePass :: CoreToDo -> CorePass
- ghcPasses :: [(CorePass, CoreToDo)]
- data PassInfo = PassInfo {
- passNum :: Int
- passesDone :: [CorePass]
- passesLeft :: [CorePass]
- getPassFlag :: [CommandLineOption] -> Maybe (Int, [CommandLineOption])
The HERMIT Plugin
type HERMITPass = IORef (Maybe (AST, ASTMap)) -> PassInfo -> [CommandLineOption] -> ModGuts -> CoreM ModGuts Source
Given a list of CommandLineOption
s, produce the ModGuts
to ModGuts
function required to build a plugin.
buildPlugin :: HERMITPass -> Plugin Source
Build a plugin. This mainly handles the per-module options.
An enumeration type for GHC's passes.
getCorePass :: CoreToDo -> CorePass Source
PassInfo | |
|
getPassFlag :: [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