Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data GmModuleGraph = GmModuleGraph {
- gmgGraph :: Map ModulePath (Set ModulePath)
- data ModulePath = ModulePath {
- mpModule :: ModuleName
- mpPath :: FilePath
- mkFileMap :: Set ModulePath -> Map FilePath ModulePath
- mkModuleMap :: Set ModulePath -> Map ModuleName ModulePath
- mkMainModulePath :: FilePath -> ModulePath
- findModulePath :: HscEnv -> ModuleName -> IO (Maybe ModulePath)
- findModulePathSet :: HscEnv -> [ModuleName] -> IO (Set ModulePath)
- fileModuleName :: (IOish m, GmEnv m, GmState m) => HscEnv -> FilePath -> m (Either [String] (Maybe ModuleName))
- canonicalizeModulePath :: ModulePath -> IO ModulePath
- homeModuleGraph :: (IOish m, Gm m) => HscEnv -> Set ModulePath -> m GmModuleGraph
- updateHomeModuleGraph :: (IOish m, Gm m) => HscEnv -> GmModuleGraph -> Set ModulePath -> Set ModulePath -> m GmModuleGraph
- canonicalizeModuleGraph :: MonadIO m => GmModuleGraph -> m GmModuleGraph
- reachable :: Set ModulePath -> GmModuleGraph -> Set ModulePath
- moduleGraphToDot :: GmModuleGraph -> String
Documentation
data GmModuleGraph Source
data ModulePath Source
findModulePath :: HscEnv -> ModuleName -> IO (Maybe ModulePath) Source
findModulePathSet :: HscEnv -> [ModuleName] -> IO (Set ModulePath) Source
fileModuleName :: (IOish m, GmEnv m, GmState m) => HscEnv -> FilePath -> m (Either [String] (Maybe ModuleName)) Source
homeModuleGraph :: (IOish m, Gm m) => HscEnv -> Set ModulePath -> m GmModuleGraph Source
:: (IOish m, Gm m) | |
=> HscEnv | |
-> GmModuleGraph | |
-> Set ModulePath | Initial set of modules |
-> Set ModulePath | Updated set of modules |
-> m GmModuleGraph |
canonicalizeModuleGraph :: MonadIO m => GmModuleGraph -> m GmModuleGraph Source
reachable :: Set ModulePath -> GmModuleGraph -> Set ModulePath Source
moduleGraphToDot :: GmModuleGraph -> String Source
Turn module graph into a graphviz dot file
dot -Tpng -o modules.png modules.dot