projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2001-10-19 14:22:11 by simonpj]
[ghc-hetmet.git]
/
ghc
/
compiler
/
basicTypes
/
RdrName.lhs
diff --git
a/ghc/compiler/basicTypes/RdrName.lhs
b/ghc/compiler/basicTypes/RdrName.lhs
index
1d45301
..
aa54142
100644
(file)
--- a/
ghc/compiler/basicTypes/RdrName.lhs
+++ b/
ghc/compiler/basicTypes/RdrName.lhs
@@
-11,17
+11,17
@@
module RdrName (
-- Construction
mkRdrUnqual, mkRdrQual, mkRdrOrig, mkRdrUnqual,
mkUnqual, mkQual, mkIfaceOrig, mkOrig,
-- Construction
mkRdrUnqual, mkRdrQual, mkRdrOrig, mkRdrUnqual,
mkUnqual, mkQual, mkIfaceOrig, mkOrig,
- qualifyRdrName, mkRdrNameWkr,
+ qualifyRdrName, unqualifyRdrName, mkRdrNameWkr,
dummyRdrVarName, dummyRdrTcName,
-- Destruction
rdrNameModule, rdrNameOcc, setRdrNameOcc,
dummyRdrVarName, dummyRdrTcName,
-- Destruction
rdrNameModule, rdrNameOcc, setRdrNameOcc,
- isRdrDataCon, isRdrTyVar, isQual, isUnqual, isOrig,
+ isRdrDataCon, isRdrTyVar, isRdrTc, isQual, isUnqual, isOrig,
-- Environment
RdrNameEnv,
emptyRdrEnv, lookupRdrEnv, addListToRdrEnv, rdrEnvElts,
-- Environment
RdrNameEnv,
emptyRdrEnv, lookupRdrEnv, addListToRdrEnv, rdrEnvElts,
- extendRdrEnv, rdrEnvToList, elemRdrEnv,
+ extendRdrEnv, rdrEnvToList, elemRdrEnv, foldRdrEnv,
-- Printing; instance Outputable RdrName
pprUnqualRdrName
-- Printing; instance Outputable RdrName
pprUnqualRdrName
@@
-33,7
+33,7
@@
import OccName ( NameSpace, tcName,
OccName, UserFS, EncodedFS,
mkSysOccFS,
mkOccFS, mkVarOcc,
OccName, UserFS, EncodedFS,
mkSysOccFS,
mkOccFS, mkVarOcc,
- isDataOcc, isTvOcc, mkWorkerOcc
+ isDataOcc, isTvOcc, isTcOcc, mkWorkerOcc
)
import Module ( ModuleName,
mkSysModuleNameFS, mkModuleNameFS
)
import Module ( ModuleName,
mkSysModuleNameFS, mkModuleNameFS
@@
-100,7
+100,7
@@
mkIfaceOrig ns (m,n) = RdrName (Orig (mkSysModuleNameFS m)) (mkSysOccFS ns n)
-- These two are used when parsing source files
-- They do encode the module and occurrence names
-- These two are used when parsing source files
-- They do encode the module and occurrence names
-mkUnqual :: NameSpace -> FAST_STRING -> RdrName
+mkUnqual :: NameSpace -> UserFS -> RdrName
mkUnqual sp n = RdrName Unqual (mkOccFS sp n)
mkQual :: NameSpace -> (UserFS, UserFS) -> RdrName
mkUnqual sp n = RdrName Unqual (mkOccFS sp n)
mkQual :: NameSpace -> (UserFS, UserFS) -> RdrName
@@
-113,6
+113,9
@@
qualifyRdrName :: ModuleName -> RdrName -> RdrName
-- Sets the module name of a RdrName, even if it has one already
qualifyRdrName mod (RdrName _ occ) = RdrName (Qual mod) occ
-- Sets the module name of a RdrName, even if it has one already
qualifyRdrName mod (RdrName _ occ) = RdrName (Qual mod) occ
+unqualifyRdrName :: RdrName -> RdrName
+unqualifyRdrName (RdrName _ occ) = RdrName Unqual occ
+
mkRdrNameWkr :: RdrName -> RdrName -- Worker-ify it
mkRdrNameWkr (RdrName qual occ) = RdrName qual (mkWorkerOcc occ)
\end{code}
mkRdrNameWkr :: RdrName -> RdrName -- Worker-ify it
mkRdrNameWkr (RdrName qual occ) = RdrName qual (mkWorkerOcc occ)
\end{code}
@@
-131,6
+134,7
@@
dummyRdrTcName = RdrName Unqual (mkOccFS tcName SLIT("TC-DUMMY"))
\begin{code}
isRdrDataCon (RdrName _ occ) = isDataOcc occ
isRdrTyVar (RdrName _ occ) = isTvOcc occ
\begin{code}
isRdrDataCon (RdrName _ occ) = isDataOcc occ
isRdrTyVar (RdrName _ occ) = isTvOcc occ
+isRdrTc (RdrName _ occ) = isTcOcc occ
isUnqual (RdrName Unqual _) = True
isUnqual other = False
isUnqual (RdrName Unqual _) = True
isUnqual other = False
@@
-199,12
+203,14
@@
extendRdrEnv :: RdrNameEnv a -> RdrName -> a -> RdrNameEnv a
rdrEnvToList :: RdrNameEnv a -> [(RdrName, a)]
rdrEnvElts :: RdrNameEnv a -> [a]
elemRdrEnv :: RdrName -> RdrNameEnv a -> Bool
rdrEnvToList :: RdrNameEnv a -> [(RdrName, a)]
rdrEnvElts :: RdrNameEnv a -> [a]
elemRdrEnv :: RdrName -> RdrNameEnv a -> Bool
+foldRdrEnv :: (RdrName -> a -> b -> b) -> b -> RdrNameEnv a -> b
-emptyRdrEnv = emptyFM
-lookupRdrEnv = lookupFM
+emptyRdrEnv = emptyFM
+lookupRdrEnv = lookupFM
addListToRdrEnv = addListToFM
rdrEnvElts = eltsFM
extendRdrEnv = addToFM
rdrEnvToList = fmToList
elemRdrEnv = elemFM
addListToRdrEnv = addListToFM
rdrEnvElts = eltsFM
extendRdrEnv = addToFM
rdrEnvToList = fmToList
elemRdrEnv = elemFM
+foldRdrEnv = foldFM
\end{code}
\end{code}