ghc-6.10.1: The GHC APIContentsIndex
Finder
Synopsis
flushFinderCaches :: HscEnv -> IO ()
data FindResult
= Found ModLocation Module
| NoPackage PackageId
| FoundMultiple [PackageId]
| PackageHidden PackageId
| ModuleHidden PackageId
| NotFound [FilePath] (Maybe PackageId)
| NotFoundInPackage PackageId
findImportedModule :: HscEnv -> ModuleName -> Maybe FastString -> IO FindResult
findExactModule :: HscEnv -> Module -> IO FindResult
findHomeModule :: HscEnv -> ModuleName -> IO FindResult
mkHomeModLocation :: DynFlags -> ModuleName -> FilePath -> IO ModLocation
mkHomeModLocation2 :: DynFlags -> ModuleName -> FilePath -> String -> IO ModLocation
mkHiOnlyModLocation :: DynFlags -> Suffix -> FilePath -> String -> IO ModLocation
addHomeModuleToFinder :: HscEnv -> ModuleName -> ModLocation -> IO Module
uncacheModule :: HscEnv -> ModuleName -> IO ()
mkStubPaths :: DynFlags -> ModuleName -> ModLocation -> (FilePath, FilePath, FilePath)
findObjectLinkableMaybe :: Module -> ModLocation -> IO (Maybe Linkable)
findObjectLinkable :: Module -> FilePath -> ClockTime -> IO Linkable
cannotFindModule :: DynFlags -> ModuleName -> FindResult -> SDoc
cannotFindInterface :: DynFlags -> ModuleName -> FindResult -> SDoc
Documentation
flushFinderCaches :: HscEnv -> IO ()
data FindResult
The result of searching for an imported module.
Constructors
Found ModLocation ModuleThe module was found
NoPackage PackageIdThe requested package was not found
FoundMultiple [PackageId]_Error_: both in multiple packages
PackageHidden PackageIdFor an explicit source import, the package containing the module is not exposed.
ModuleHidden PackageIdFor an explicit source import, the package containing the module is exposed, but the module itself is hidden.
NotFound [FilePath] (Maybe PackageId)The module was not found, the specified places were searched
NotFoundInPackage PackageIdThe module was not found in this package
findImportedModule :: HscEnv -> ModuleName -> Maybe FastString -> IO FindResult
Locate a module that was imported by the user. We have the module's name, and possibly a package name. Without a package name, this function will use the search path and the known exposed packages to find the module, if a package is specified then only that package is searched for the module.
findExactModule :: HscEnv -> Module -> IO FindResult
Locate a specific Module. The purpose of this function is to create a ModLocation for a given Module, that is to find out where the files associated with this module live. It is used when reading the interface for a module mentioned by another interface, for example (a system import).
findHomeModule :: HscEnv -> ModuleName -> IO FindResult
Search for a module in the home package only.
mkHomeModLocation :: DynFlags -> ModuleName -> FilePath -> IO ModLocation
mkHomeModLocation2 :: DynFlags -> ModuleName -> FilePath -> String -> IO ModLocation
mkHiOnlyModLocation :: DynFlags -> Suffix -> FilePath -> String -> IO ModLocation
addHomeModuleToFinder :: HscEnv -> ModuleName -> ModLocation -> IO Module
uncacheModule :: HscEnv -> ModuleName -> IO ()
mkStubPaths :: DynFlags -> ModuleName -> ModLocation -> (FilePath, FilePath, FilePath)
findObjectLinkableMaybe :: Module -> ModLocation -> IO (Maybe Linkable)
findObjectLinkable :: Module -> FilePath -> ClockTime -> IO Linkable
cannotFindModule :: DynFlags -> ModuleName -> FindResult -> SDoc
cannotFindInterface :: DynFlags -> ModuleName -> FindResult -> SDoc
Produced by Haddock version 2.3.0