Refactoring only: remove [Id] field from ForeignStubs
[ghc-hetmet.git] / compiler / main / HscMain.lhs
index f0fd95d..a9c9a15 100644 (file)
@@ -53,7 +53,7 @@ import HsSyn          ( HsModule, LHsBinds, HsGroup, LIE, LImportDecl, HsDoc,
                           HaddockModInfo )
 import CoreSyn
 import SrcLoc          ( Located(..) )
-import StringBuffer    ( hGetStringBuffer, stringToStringBuffer )
+import StringBuffer
 import Parser
 import Lexer
 import SrcLoc          ( mkSrcLoc )
@@ -476,13 +476,11 @@ hscSimplify :: ModGuts -> Comp ModGuts
 hscSimplify ds_result
   = do hsc_env <- gets compHscEnv
        liftIO $ do
-       flat_result <- {-# SCC "Flattening" #-}
-                      flatten hsc_env ds_result
            -------------------
            -- SIMPLIFY
            -------------------
        simpl_result <- {-# SCC "Core2Core" #-}
-                       core2core hsc_env flat_result
+                       core2core hsc_env ds_result
        return simpl_result
 
 --------------------------------------------------------------
@@ -603,10 +601,10 @@ hscCompile cgguts
          ------------------  Code generation ------------------
          abstractC <- {-# SCC "CodeGen" #-}
                       codeGen dflags this_mod data_tycons
-                              foreign_stubs dir_imps cost_centre_info
+                              dir_imps cost_centre_info
                               stg_binds hpc_info
          ------------------  Convert to CPS --------------------
-         --continuationC <- cmmCPS dflags abstractC
+         --continuationC <- cmmCPS dflags abstractC >>= cmmToRawCmm
          continuationC <- cmmToRawCmm abstractC
          ------------------  Code output -----------------------
          (stub_h_exists,stub_c_exists)
@@ -673,7 +671,7 @@ hscFileCheck hsc_env mod_summary compileToCore = do {
            -- RENAME and TYPECHECK
            -------------------
          (tc_msgs, maybe_tc_result) 
-               <- _scc_ "Typecheck-Rename" 
+               <- {-# SCC "Typecheck-Rename" #-}
                   tcRnModule hsc_env (ms_hsc_src mod_summary) 
                        True{-save renamed syntax-}
                        rdr_module
@@ -692,8 +690,7 @@ hscFileCheck hsc_env mod_summary compileToCore = do {
                                md_rules     = [panic "no rules"],
                                   -- Rules are CoreRules, not the
                                   -- RuleDecls we get out of the typechecker
-                                md_vect_info = 
-                                  panic "HscMain.hscFileCheck: no VectInfo"
+                                md_vect_info = noVectInfo
                                    -- VectInfo is added by the Core 
                                    -- vectorisation pass
                           }
@@ -723,7 +720,7 @@ hscCmmFile dflags filename = do
   case maybe_cmm of
     Nothing -> return False
     Just cmm -> do
-        --continuationC <- cmmCPS dflags [cmm]
+        --continuationC <- cmmCPS dflags [cmm] >>= cmmToRawCmm
         continuationC <- cmmToRawCmm [cmm]
        codeOutput dflags no_mod no_loc NoStubs [] continuationC
        return True
@@ -734,6 +731,8 @@ hscCmmFile dflags filename = do
                               ml_obj_file = panic "hscCmmFile: no obj file" }
 
 
+myParseModule :: DynFlags -> FilePath -> Maybe StringBuffer
+              -> IO (Either ErrMsg (Located (HsModule RdrName)))
 myParseModule dflags src_filename maybe_src_buf
  =    --------------------------  Parser  ----------------
       showPass dflags "Parser" >>