X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Frename%2FRnEnv.lhs;h=47595e2a89f1a94a9e8477d4fb598cc2de56dd63;hp=d924ab1bf37875950fe4023e0f948972466af43a;hb=d51f42f602bf9a6d1b356c41228a534c88723f65;hpb=f3399c446c7507d46d6cc550aa2fe7027dbc1b5b diff --git a/compiler/rename/RnEnv.lhs b/compiler/rename/RnEnv.lhs index d924ab1..47595e2 100644 --- a/compiler/rename/RnEnv.lhs +++ b/compiler/rename/RnEnv.lhs @@ -55,7 +55,7 @@ import Name ( Name, nameIsLocalOrFrom, mkInternalName, isWiredInName, nameSrcLoc, nameSrcSpan, nameOccName, nameModule, isExternalName ) import NameSet import NameEnv -import UniqFM +import LazyUniqFM import DataCon ( dataConFieldLabels ) import OccName ( OccName, tcName, isDataOcc, pprNonVarNameSpace, occNameSpace, reportIfUnused, occNameFS ) @@ -70,9 +70,30 @@ import Util import Maybes import ListSetOps ( removeDups ) import List ( nubBy ) -import Monad ( when ) import DynFlags import FastString +import Control.Monad +\end{code} + +\begin{code} +-- XXX +thenM :: Monad a => a b -> (b -> a c) -> a c +thenM = (>>=) + +thenM_ :: Monad a => a b -> a c -> a c +thenM_ = (>>) + +returnM :: Monad m => a -> m a +returnM = return + +mappM :: (Monad m) => (a -> m b) -> [a] -> m [b] +mappM = mapM + +mappM_ :: (Monad m) => (a -> m b) -> [a] -> m () +mappM_ = mapM_ + +checkM :: Monad m => Bool -> m () -> m () +checkM = unless \end{code} %********************************************************* @@ -869,8 +890,10 @@ checkShadowedNames doc_str (global_env,local_env) loc_rdr_names | otherwise = return () where complain pp_locs = addWarnAt loc (shadowedNameWarn doc_str occ pp_locs) - mb_local = lookupLocalRdrOcc local_env occ - gres = lookupGlobalRdrEnv global_env occ + mb_local = lookupLocalRdrOcc local_env occ + gres = lookupGRE_RdrName (mkRdrUnqual occ) global_env + -- Make an Unqualified RdrName and look that up, so that + -- we don't find any GREs that are in scope qualified-only \end{code}