diff options
author | Simon Jakobi <simon.jakobi@gmail.com> | 2022-05-07 18:48:49 +0200 |
---|---|---|
committer | Simon Jakobi <simon.jakobi@gmail.com> | 2022-05-11 22:05:59 +0200 |
commit | 042f8c1eee36bdcb494d339ceb595a0db87d2ac8 (patch) | |
tree | 1cfd6c654cf67f16150096b0be8bdf72b5455c0a | |
parent | e3ca8dacf121f3831248775238be4807f53f7ceb (diff) | |
download | haskell-wip/sjakobi/tweak-addHMI.tar.gz |
Tweak GHC.Unit.Env.addHomeModInfoToHugwip/sjakobi/tweak-addHMI
unitEnv_adjust is more efficient than unitEnv_alter.
unitEvn_alter is exported now to silence a unused-top-binds warning.
-rw-r--r-- | compiler/GHC/Unit/Env.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/GHC/Unit/Env.hs b/compiler/GHC/Unit/Env.hs index c3b7aaed4a..c2d035ea35 100644 --- a/compiler/GHC/Unit/Env.hs +++ b/compiler/GHC/Unit/Env.hs @@ -38,6 +38,7 @@ module GHC.Unit.Env , unitEnv_insert , unitEnv_delete , unitEnv_adjust + , unitEnv_alter , unitEnv_new , unitEnv_singleton , unitEnv_map @@ -249,7 +250,7 @@ hugElts :: HomeUnitGraph -> [(UnitId, HomeUnitEnv)] hugElts hug = unitEnv_elts hug addHomeModInfoToHug :: HomeModInfo -> HomeUnitGraph -> HomeUnitGraph -addHomeModInfoToHug hmi hug = unitEnv_alter go hmi_unit hug +addHomeModInfoToHug hmi hug = unitEnv_adjust go hmi_unit hug where hmi_mod :: Module hmi_mod = mi_module (hm_iface hmi) @@ -257,9 +258,8 @@ addHomeModInfoToHug hmi hug = unitEnv_alter go hmi_unit hug hmi_unit = toUnitId (moduleUnit hmi_mod) _hmi_mn = moduleName hmi_mod - go :: Maybe HomeUnitEnv -> Maybe HomeUnitEnv - go Nothing = pprPanic "addHomeInfoToHug" (ppr hmi_mod) - go (Just hue) = Just (updateHueHpt (addHomeModInfoToHpt hmi) hue) + go :: HomeUnitEnv -> HomeUnitEnv + go = updateHueHpt (addHomeModInfoToHpt hmi) updateHueHpt :: (HomePackageTable -> HomePackageTable) -> HomeUnitEnv -> HomeUnitEnv updateHueHpt f hue = hue { homeUnitEnv_hpt = f (homeUnitEnv_hpt hue)} |