ghc-lib-0.1.0: The GHC API, decoupled from GHC versions

Safe HaskellNone
LanguageHaskell2010

Finder

Synopsis

Documentation

flushFinderCaches :: HscEnv -> IO () Source #

data FindResult #

The result of searching for an imported module.

NB: FindResult manages both user source-import lookups (which can result in Module ) as well as direct imports for interfaces (which always result in InstalledModule ).

Constructors

Found ModLocation Module

The module was found

NoPackage UnitId

The requested package was not found

FoundMultiple [(Module, ModuleOrigin)]

_Error_: both in multiple packages

NotFound

Not found

findImportedModule :: HscEnv -> ModuleName -> Maybe FastString -> IO FindResult Source #

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.

findPluginModule :: HscEnv -> ModuleName -> IO FindResult Source #

Locate a plugin module requested by the user, for a compiler plugin. This consults the same set of exposed packages as findImportedModule , unless -hide-all-plugin-packages or -plugin-package are specified.

findExactModule :: HscEnv -> InstalledModule -> IO InstalledFindResult Source #

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 Source #

findExposedPackageModule :: HscEnv -> ModuleName -> Maybe FastString -> IO FindResult Source #

mkHomeModLocation :: DynFlags -> ModuleName -> FilePath -> IO ModLocation Source #

mkHomeModLocation2 :: DynFlags -> ModuleName -> FilePath -> String -> IO ModLocation Source #

mkHiOnlyModLocation :: DynFlags -> Suffix -> FilePath -> String -> IO ModLocation Source #

mkHiPath :: DynFlags -> FilePath -> String -> FilePath Source #

Constructs the filename of a .hi file for a given source file. Does not check whether the .hi file exists

mkObjPath :: DynFlags -> FilePath -> String -> FilePath Source #

Constructs the filename of a .o file for a given source file. Does not check whether the .o file exists

addHomeModuleToFinder :: HscEnv -> ModuleName -> ModLocation -> IO Module Source #

uncacheModule :: HscEnv -> ModuleName -> IO () Source #

mkStubPaths :: DynFlags -> ModuleName -> ModLocation -> FilePath Source #

findObjectLinkableMaybe :: Module -> ModLocation -> IO (Maybe Linkable) Source #

findObjectLinkable :: Module -> FilePath -> UTCTime -> IO Linkable Source #

cannotFindModule :: DynFlags -> ModuleName -> FindResult -> SDoc Source #

cannotFindInterface :: DynFlags -> ModuleName -> InstalledFindResult -> SDoc Source #

AltStyle によって変換されたページ (->オリジナル) /