- :: Phase -- When to stop
- -> HscEnv -- Compilation environment
- -> (FilePath,Maybe Phase) -- Input filename (and maybe -x suffix)
- -> Maybe FilePath -- original basename (if different from ^^^)
- -> PipelineOutput -- Output filename
- -> Maybe ModLocation -- A ModLocation, if this is a Haskell module
- -> IO (DynFlags, FilePath) -- (final flags, output filename)
+ :: GhcMonad m =>
+ Phase -- ^ When to stop
+ -> HscEnv -- ^ Compilation environment
+ -> (FilePath,Maybe Phase) -- ^ Input filename (and maybe -x suffix)
+ -> Maybe FilePath -- ^ original basename (if different from ^^^)
+ -> PipelineOutput -- ^ Output filename
+ -> Maybe ModLocation -- ^ A ModLocation, if this is a Haskell module
+ -> m (DynFlags, FilePath) -- ^ (final flags, output filename)