-- accumulated, but never consulted until the end.
-- Nevertheless, it's convenient to accumulate them along
-- with the rest of the info from this module.
- tcg_exports :: NameSet, -- What is exported
- tcg_imports :: ImportAvails, -- Information about what was imported
- -- from where, including things bound
- -- in this module
+ tcg_exports :: NameSet, -- What is exported
+ tcg_imports :: ImportAvails, -- Information about what was imported
+ -- from where, including things bound
+ -- in this module
tcg_dus :: DefUses, -- What is defined in this module and what is used.
-- The latter is used to generate
-- was originally a hi-boot file.
-- We need the module name so we can test when it's appropriate
-- to look in this env.
- if_rec_types :: Maybe (Module, IfG TypeEnv),
+ if_rec_types :: Maybe (Module, IfG TypeEnv)
-- Allows a read effect, so it can be in a mutable
-- variable; c.f. handling the external package type env
-- Nothing => interactive stuff, no loops possible
-
- if_is_boot :: ModuleEnv (ModuleName, IsBootInterface)
- -- Tells what we know about boot interface files
- -- When we're importing a module we know absolutely
- -- nothing about, so we assume it's from
- -- another package, where we aren't doing
- -- dependency tracking. So it won't be a hi-boot file.
}
data IfLclEnv
-- combine stuff coming from different (unqualified)
-- imports of the same module
- imp_mods :: ModuleEnv (Module, Maybe Bool),
+ imp_mods :: ModuleEnv (Module, Maybe Bool, SrcSpan),
-- Domain is all directly-imported modules
-- Maybe value answers the question "is the import restricted?"
-- Nothing => unrestricted import (e.g., "import Foo")