-dsTopLHsBinds auto_scc binds = do
- mb_mod_name_ref <- getModNameRefDs
- debugging <- breakpoints_enabled
- case mb_mod_name_ref of
- Nothing | debugging -> do -- Inject a CAF with the module name as literal
- mod <- getModuleDs
- mod_name_ref <- do
- u <- newUnique
- let n = mkSystemName u (mkVarOcc "_module")
- return (mkLocalId n stringTy)
- let mod_name = moduleNameFS$ moduleName mod
- mod_lit <- dsExpr (HsLit (HsString mod_name))
- withModNameRefDs mod_name_ref $ do
- res <- ds_lhs_binds auto_scc binds
- return$ (mod_name_ref, mod_lit) : res
- _ -> ds_lhs_binds auto_scc binds
-