GlobalRdrEnv, LocalRdrEnv, NameCache, FixityEnv,
GhciMode, lookupType, unQualInScope )
import TcRnTypes
-import Module ( Module, foldModuleEnv )
+import Module ( Module, moduleName, unitModuleEnv, foldModuleEnv )
import Name ( Name, isInternalName )
import Type ( Type )
import NameEnv ( extendNameEnvList )
tcg_ist = mkImpTypeEnv eps hpt,
tcg_inst_env = mkImpInstEnv dflags eps hpt,
tcg_exports = [],
- tcg_imports = emptyImportAvails,
+ tcg_imports = init_imports,
tcg_binds = EmptyMonoBinds,
tcg_deprecs = NoDeprecs,
tcg_insts = [],
where
eps = pcs_EPS pcs
+ init_imports = emptyImportAvails { imp_unqual = unitModuleEnv mod emptyAvailEnv }
+ -- Initialise tcg_imports with an empty set of bindings for
+ -- this module, so that if we see 'module M' in the export
+ -- list, and there are no bindings in M, we don't bleat
+ -- "unknown module M".
+
defaultDefaultTys :: [Type]
defaultDefaultTys = [integerTy, doubleTy]
getGlobalRdrEnv :: TcRn m GlobalRdrEnv
getGlobalRdrEnv = do { env <- getGblEnv; return (tcg_rdr_env env) }
+getImports :: TcRn m ImportAvails
+getImports = do { env <- getGblEnv; return (tcg_imports env) }
+
getFixityEnv :: TcRn m FixityEnv
getFixityEnv = do { env <- getGblEnv; return (tcg_fix_env env) }
\end{code}
\begin{code}
-getUsageVar :: TcRn m (TcRef Usages)
+getUsageVar :: TcRn m (TcRef EntityUsage)
getUsageVar = do { env <- getGblEnv; return (tcg_usages env) }
-getUsages :: TcRn m Usages
+getUsages :: TcRn m EntityUsage
getUsages = do { usg_var <- getUsageVar; readMutVar usg_var }
-updUsages :: (Usages -> Usages) -> TcRn m ()
+updUsages :: (EntityUsage -> EntityUsage) -> TcRn m ()
updUsages upd = do { usg_var <- getUsageVar ;
usg <- readMutVar usg_var ;
writeMutVar usg_var (upd usg) }
traceTc, traceRn :: SDoc -> TcRn a ()
traceRn = dumpOptTcRn Opt_D_dump_rn_trace
traceTc = dumpOptTcRn Opt_D_dump_tc_trace
+traceSplice = dumpOptTcRn Opt_D_dump_splices
traceHiDiffs = dumpOptTcRn Opt_D_dump_hi_diffs
dumpOptTcRn :: DynFlag -> SDoc -> TcRn a ()