X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FHscTypes.lhs;h=0a6ad3d2017865235ffe4964064b0729040b6894;hb=1168a37f6bfad3d7025ecb21b9917799937936f3;hp=7aacf9574bbc7ad86c98184d9f77cc9e82d6c175;hpb=8102af4eac807ae4956a79b27f03fd890f8294c6;p=ghc-hetmet.git diff --git a/compiler/main/HscTypes.lhs b/compiler/main/HscTypes.lhs index 7aacf95..0a6ad3d 100644 --- a/compiler/main/HscTypes.lhs +++ b/compiler/main/HscTypes.lhs @@ -14,6 +14,7 @@ module HscTypes ( ModDetails(..), emptyModDetails, ModGuts(..), CoreModule(..), CgGuts(..), ModImports(..), ForeignStubs(..), + ImportedMods, ModSummary(..), ms_mod_name, showModMsg, isBootSummary, msHsFilePath, msHiFilePath, msObjFilePath, @@ -509,6 +510,8 @@ emptyModDetails = ModDetails { md_types = emptyTypeEnv, -- being compiled right now. Once it is compiled, a ModIface and -- ModDetails are extracted and the ModGuts is dicarded. +type ImportedMods = ModuleEnv (Module, [(ModuleName, Bool, SrcSpan)]) + data ModGuts = ModGuts { mg_module :: !Module, @@ -516,9 +519,9 @@ data ModGuts mg_exports :: ![AvailInfo], -- What it exports mg_deps :: !Dependencies, -- What is below it, directly or -- otherwise - mg_dir_imps :: ![Module], -- Directly-imported modules; used to + mg_dir_imps :: !ImportedMods, -- Directly-imported modules; used to -- generate initialisation code - mg_usages :: ![Usage], -- Version info for what it needed + mg_used_names:: !NameSet, -- What it needed (used in mkIface) mg_rdr_env :: !GlobalRdrEnv, -- Top-level lexical environment