ghc-6.12.2: The GHC APISource codeContentsIndex
Finder
Synopsis
flushFinderCaches :: HscEnv -> IO ()
data FindResult
= Found ModLocation Module
| NoPackage PackageId
| FoundMultiple [PackageId]
| NotFound [FilePath] (Maybe PackageId) [PackageId] [PackageId]
| NotFoundInPackage PackageId
findImportedModule :: HscEnv -> ModuleName -> Maybe FastString -> IO FindResult
findExactModule :: HscEnv -> Module -> IO FindResult
findHomeModule :: HscEnv -> ModuleName -> IO FindResult
findExposedPackageModule :: HscEnv -> ModuleName -> Maybe FastString -> 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 ()Source
data FindResult Source
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
NotFound [FilePath] (Maybe PackageId) [PackageId] [PackageId]The module was not found, including either * the specified places were searched * the package that this module should have been in * list of packages in which the module was hidden, * list of hidden packages containing this module
NotFoundInPackage PackageIdThe module was not found in this package
findImportedModule :: HscEnv -> ModuleName -> Maybe FastString -> IO FindResultSource
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 FindResultSource
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 FindResultSource
Search for a module in the home package only.
findExposedPackageModule :: HscEnv -> ModuleName -> Maybe FastString -> IO FindResultSource
mkHomeModLocation :: DynFlags -> ModuleName -> FilePath -> IO ModLocationSource
mkHomeModLocation2 :: DynFlags -> ModuleName -> FilePath -> String -> IO ModLocationSource
mkHiOnlyModLocation :: DynFlags -> Suffix -> FilePath -> String -> IO ModLocationSource
addHomeModuleToFinder :: HscEnv -> ModuleName -> ModLocation -> IO ModuleSource
uncacheModule :: HscEnv -> ModuleName -> IO ()Source
mkStubPaths :: DynFlags -> ModuleName -> ModLocation -> (FilePath, FilePath, FilePath)Source
findObjectLinkableMaybe :: Module -> ModLocation -> IO (Maybe Linkable)Source
findObjectLinkable :: Module -> FilePath -> ClockTime -> IO LinkableSource
cannotFindModule :: DynFlags -> ModuleName -> FindResult -> SDocSource
cannotFindInterface :: DynFlags -> ModuleName -> FindResult -> SDocSource
Produced by Haddock version 2.6.1