summaryrefslogtreecommitdiff
path: root/compiler/iface/IfaceEnv.hs
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2016-10-13 19:04:12 -0400
committerBen Gamari <ben@smart-cactus.org>2016-10-13 19:09:13 -0400
commit37cca2646e4503c572fd386f47479b24aadd1711 (patch)
tree92e77c0479a301c96683ba9c0251a9b58ab95a44 /compiler/iface/IfaceEnv.hs
parent82f3f6c68018d93b855d808c36865ce6046514bb (diff)
downloadhaskell-wip/names3.tar.gz
Fix DFun renamingwip/names3
Diffstat (limited to 'compiler/iface/IfaceEnv.hs')
-rw-r--r--compiler/iface/IfaceEnv.hs23
1 files changed, 3 insertions, 20 deletions
diff --git a/compiler/iface/IfaceEnv.hs b/compiler/iface/IfaceEnv.hs
index 581aa1f393..46bc0e9905 100644
--- a/compiler/iface/IfaceEnv.hs
+++ b/compiler/iface/IfaceEnv.hs
@@ -255,27 +255,10 @@ extendIfaceEnvs tcvs thing_inside
************************************************************************
-}
+-- | Look up a top-level name from the current Iface module
lookupIfaceTop :: OccName -> IfL Name
--- Look up a top-level name from the current Iface module
-lookupIfaceTop occ = do
- lcl_env <- getLclEnv
- -- NB: this is a semantic module, see
- -- Note [Identity versus semantic module]
- mod <- getIfModule
- case if_nsubst lcl_env of
- -- NOT substNameShape because 'getIfModule' returns the
- -- renamed module (d'oh!)
- Just nsubst ->
- case lookupOccEnv (ns_map nsubst) occ of
- Just n' ->
- -- I thought this would be help but it turns out
- -- n' doesn't have any useful information. Drat!
- -- return (setNameLoc n' (nameSrcSpan n))
- return n'
- -- This case can occur when we encounter a DFun;
- -- see Note [Bogus DFun renamings]
- Nothing -> lookupOrig mod occ
- _ -> lookupOrig mod occ
+lookupIfaceTop occ
+ = do { env <- getLclEnv; lookupOrig (if_mod env) occ }
newIfaceName :: OccName -> IfL Name
newIfaceName occ