Interface file optimisation and removal of nameParent
[ghc-hetmet.git] / compiler / main / HscMain.lhs
index c511aa2..0563f34 100644 (file)
@@ -527,7 +527,7 @@ hscNormalIface simpl_result
                <- {-# SCC "MkFinalIface" #-}
                   mkIface hsc_env maybe_old_iface simpl_result details
        -- Emit external core
-       emitExternalCore (hsc_dflags hsc_env) (mg_exports simpl_result) cg_guts -- Move this? --Lemmih 03/07/2006
+       emitExternalCore (hsc_dflags hsc_env) (availsToNameSet (mg_exports simpl_result)) cg_guts -- Move this? --Lemmih 03/07/2006
        dumpIfaceStats hsc_env
 
            -------------------
@@ -541,9 +541,11 @@ hscNormalIface simpl_result
 hscWriteIface :: (ModIface, Bool, ModDetails, a) -> Comp (ModIface, ModDetails, a)
 hscWriteIface (iface, no_change, details, a)
     = do mod_summary <- gets compModSummary
+         hsc_env <- gets compHscEnv
+         let dflags = hsc_dflags hsc_env
          liftIO $ do
          unless no_change
-           $ writeIfaceFile (ms_location mod_summary) iface
+           $ writeIfaceFile dflags (ms_location mod_summary) iface
          return (iface, details, a)
 
 hscIgnoreIface :: (ModIface, Bool, ModDetails, a) -> Comp (ModIface, ModDetails, a)
@@ -678,9 +680,9 @@ hscFileCheck hsc_env mod_summary = do {
                let type_env = tcg_type_env tc_result
                    md = ModDetails { 
                                md_types     = type_env,
-                               md_exports   = tcg_exports  tc_result,
-                               md_insts     = tcg_insts    tc_result,
-                               md_fam_insts = mkDetailsFamInstCache type_env,
+                               md_exports   = tcg_exports   tc_result,
+                               md_insts     = tcg_insts     tc_result,
+                               md_fam_insts = tcg_fam_insts tc_result,
                                md_rules     = [panic "no rules"] }
                                   -- Rules are CoreRules, not the
                                   -- RuleDecls we get out of the typechecker