add support for hetmet_flatten casting variable
[ghc-hetmet.git] / compiler / deSugar / Desugar.lhs
index 4276414..4e67111 100644 (file)
@@ -111,6 +111,8 @@ deSugar hsc_env
                                     , undefined
                                     , undefined
                                     , undefined
+                                    , undefined
+                                    , undefined
                                ))
                    _        -> do
                      (binds_cvr,ds_hpc_info, modBreaks)
@@ -129,6 +131,8 @@ deSugar hsc_env
                           ; ds_vects <- mapM dsVect vects
                           ; hetmet_brak <- if dopt Opt_F_coqpass dflags then dsLookupGlobalId hetmet_brak_name else return undefined
                           ; hetmet_esc  <- if dopt Opt_F_coqpass dflags then dsLookupGlobalId hetmet_esc_name  else return undefined
+                          ; hetmet_flatten <- if dopt Opt_F_coqpass dflags then dsLookupGlobalId hetmet_flatten_name else return undefined
+                          ; hetmet_flattened_id <- if dopt Opt_F_coqpass dflags then dsLookupGlobalId hetmet_flattened_id_name else return undefined
                           ; hetmet_PGArrow <- if dopt Opt_F_coqpass dflags then dsLookupTyCon hetmet_PGArrow_name else return undefined
                           ; hetmet_pga_id <- if dopt Opt_F_coqpass dflags then dsLookupGlobalId hetmet_pga_id_name else return undefined
                           ; hetmet_pga_comp <- if dopt Opt_F_coqpass dflags then dsLookupGlobalId hetmet_pga_comp_name else return undefined
@@ -154,7 +158,7 @@ deSugar hsc_env
                                    , foreign_prs `appOL` core_prs `appOL` spec_prs
                                    , spec_rules ++ ds_rules, ds_vects
                                    , ds_fords `appendStubC` hpc_init
-                                   , ds_hpc_info, modBreaks, hetmet_brak, hetmet_esc
+                                   , ds_hpc_info, modBreaks, hetmet_brak, hetmet_esc, hetmet_flatten, hetmet_flattened_id
                                    , hetmet_PGArrow
                                    , hetmet_pga_id
                                    , hetmet_pga_comp
@@ -177,7 +181,8 @@ deSugar hsc_env
 
         ; case mb_res of {
            Nothing -> return (msgs, Nothing) ;
-           Just (ds_ev_binds, all_prs, all_rules, ds_vects, ds_fords,ds_hpc_info, modBreaks, hetmet_brak, hetmet_esc
+           Just (ds_ev_binds, all_prs, all_rules, ds_vects, ds_fords,ds_hpc_info, modBreaks
+                                   , hetmet_brak, hetmet_esc, hetmet_flatten, hetmet_flattened_id
                                    , hetmet_PGArrow
                                    , hetmet_pga_id
                                    , hetmet_pga_comp
@@ -225,6 +230,8 @@ deSugar hsc_env
                                ; return (coqPassCoreToCore
                                              hetmet_brak
                                              hetmet_esc
+                                             hetmet_flatten
+                                             hetmet_flattened_id
                                              us
                                              ds_binds
                                              hetmet_PGArrow