ghc-7.10.2: The GHC API

Safe HaskellNone
LanguageHaskell2010

LoadIface

Synopsis

Documentation

loadModuleInterface :: SDoc -> Module -> TcM ModIface

Load interface directly for a fully qualified Module. (This is a fairly rare operation, but in particular it is used to load orphan modules in order to pull their instances into the global package table and to handle some operations in GHCi).

loadModuleInterfaces :: SDoc -> [Module] -> TcM ()

Load interfaces for a collection of modules.

loadSrcInterface :: SDoc -> ModuleName -> IsBootInterface -> Maybe FastString -> RnM [ModIface]

Load the interface corresponding to an import directive in source code. On a failure, fail in the monad with an error message. See Note [Un-ambiguous multiple interfaces] for why the return type is [ModIface]

loadSrcInterface_maybe :: SDoc -> ModuleName -> IsBootInterface -> Maybe FastString -> RnM (MaybeErr MsgDoc [ModIface])

Like loadSrcInterface, but returns a MaybeErr. See also Note [Un-ambiguous multiple interfaces]

loadInterfaceForName :: SDoc -> Name -> TcRn ModIface

Loads the interface for a given Name. Should only be called for an imported name; otherwise loadSysInterface may not find the interface

loadInterfaceForModule :: SDoc -> Module -> TcRn ModIface

Loads the interface for a given Module.

loadWiredInHomeIface :: Name -> IfM lcl ()

An IfM function to load the home interface for a wired-in thing, so that we're sure that we see its instance declarations and rules See Note [Loading instances for wired-in things] in TcIface

loadSysInterface :: SDoc -> Module -> IfM lcl ModIface

Loads a system interface and throws an exception if it fails

loadUserInterface :: Bool -> SDoc -> Module -> IfM lcl ModIface

Loads a user interface and throws an exception if it fails. The first parameter indicates whether we should import the boot variant of the module

showIface :: HscEnv -> FilePath -> IO ()

Read binary interface, and print it out