Safe Haskell | None |
---|---|
Language | Haskell2010 |
- rnImports :: [LImportDecl RdrName] -> RnM ([LImportDecl Name], GlobalRdrEnv, ImportAvails, AnyHpcUsage)
- getLocalNonValBinders :: MiniFixityEnv -> HsGroup RdrName -> RnM ((TcGblEnv, TcLclEnv), NameSet)
- newRecordSelector :: Bool -> [Name] -> LFieldOcc RdrName -> RnM FieldLabel
- rnExports :: Bool -> Maybe (Located [LIE RdrName]) -> TcGblEnv -> RnM (Maybe [LIE Name], TcGblEnv)
- extendGlobalRdrEnvRn :: [AvailInfo] -> MiniFixityEnv -> RnM (TcGblEnv, TcLclEnv)
- gresFromAvails :: Maybe ImportSpec -> [AvailInfo] -> [GlobalRdrElt]
- calculateAvails :: DynFlags -> ModIface -> IsSafeImport -> IsBootInterface -> ImportAvails
- reportUnusedNames :: Maybe (Located [LIE RdrName]) -> TcGblEnv -> RnM ()
- checkConName :: RdrName -> TcRn ()
Documentation
rnImports :: [LImportDecl RdrName] -> RnM ([LImportDecl Name], GlobalRdrEnv, ImportAvails, AnyHpcUsage) Source #
Process Import Decls. See rnImportDecl
for a description of what
the return types represent.
Note: Do the non SOURCE ones first, so that we get a helpful warning
for SOURCE ones that are unnecessary
getLocalNonValBinders :: MiniFixityEnv -> HsGroup RdrName -> RnM ((TcGblEnv, TcLclEnv), NameSet) Source #
newRecordSelector :: Bool -> [Name] -> LFieldOcc RdrName -> RnM FieldLabel Source #
rnExports :: Bool -> Maybe (Located [LIE RdrName]) -> TcGblEnv -> RnM (Maybe [LIE Name], TcGblEnv) Source #
extendGlobalRdrEnvRn :: [AvailInfo] -> MiniFixityEnv -> RnM (TcGblEnv, TcLclEnv) Source #
gresFromAvails :: Maybe ImportSpec -> [AvailInfo] -> [GlobalRdrElt] Source #
make a GlobalRdrEnv
where all the elements point to the same
Provenance (useful for "hiding" imports, or imports with no details).
calculateAvails :: DynFlags -> ModIface -> IsSafeImport -> IsBootInterface -> ImportAvails Source #
Calculate the ImportAvails
induced by an import of a particular
interface, but without imp_mods
.
checkConName :: RdrName -> TcRn () Source #