ghc-7.0.3: The GHC API




data FindResult Source

The result of searching for an imported module.


Found ModLocation Module

The module was found

NoPackage PackageId

The 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 PackageId

The 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.