ghc-9.10.3: The GHC API

Safe Haskell | None
Language | GHC2021

GHC.Tc.Types.LclEnv

# Documentation

data TcLclEnv Source #

Constructors

TcLclEnv |

Fields

- tcl_lcl_ctxt :: !TcLclCtxt
- tcl_usage :: TcRef UsageEnv
- tcl_lie :: TcRef WantedConstraints
- tcl_errs :: TcRef (Messages TcRnMessage)

#### Instances

Instances details

Quasi TcM Source # |

Instance details

Defined in GHC.Tc.Gen.Splice

Methods

qNewName :: String -> TcM Name Source #

qReport :: Bool -> String -> TcM () Source #

qRecover :: TcM a -> TcM a -> TcM a Source #

qLookupName :: Bool -> String -> TcM (Maybe Name) Source #

qReify :: Name -> TcM Info Source #

qReifyFixity :: Name -> TcM (Maybe Fixity) Source #

qReifyType :: Name -> TcM Type Source #

qReifyInstances :: Name -> [Type] -> TcM [Dec] Source #

qReifyRoles :: Name -> TcM [Role] Source #

qReifyAnnotations :: Data a => AnnLookup -> TcM [a] Source #

qReifyModule :: Module -> TcM ModuleInfo Source #

qReifyConStrictness :: Name -> TcM [DecidedStrictness] Source #

qLocation :: TcM Loc Source #

qRunIO :: IO a -> TcM a Source #

qGetPackageRoot :: TcM FilePath Source #

qAddDependentFile :: FilePath -> TcM () Source #

qAddTempFile :: String -> TcM FilePath Source #

qAddTopDecls :: [Dec] -> TcM () Source #

qAddForeignFilePath :: ForeignSrcLang -> String -> TcM () Source #

qAddModFinalizer :: Q () -> TcM () Source #

qAddCorePlugin :: String -> TcM () Source #

qGetQ :: Typeable a => TcM (Maybe a) Source #

qPutQ :: Typeable a => a -> TcM () Source #

qIsExtEnabled :: Extension -> TcM Bool Source #

qExtsEnabled :: TcM [Extension] Source #

qPutDoc :: DocLoc -> String -> TcM () Source #

qGetDoc :: DocLoc -> TcM (Maybe String) Source #

MonadThings (IOEnv (Env TcGblEnv TcLclEnv)) Source # |
Instance details Defined in GHC.Tc.Utils.Env Methods lookupThing :: Name -> IOEnv (Env TcGblEnv TcLclEnv) TyThing Source # lookupId :: Name -> IOEnv (Env TcGblEnv TcLclEnv) Id Source # lookupDataCon :: Name -> IOEnv (Env TcGblEnv TcLclEnv) DataCon Source # lookupTyCon :: Name -> IOEnv (Env TcGblEnv TcLclEnv) TyCon Source #

data TcLclCtxt Source #

Constructors

TcLclCtxt |

Fields

- tcl_loc :: RealSrcSpan
- tcl_ctxt :: [ErrCtxt]
- tcl_in_gen_code :: Bool
- tcl_tclvl :: TcLevel
- tcl_bndrs :: TcBinderStack
- tcl_rdr :: LocalRdrEnv
- tcl_th_ctxt :: ThStage
- tcl_th_bndrs :: ThBindEnv
- tcl_arrow_ctxt :: ArrowCtxt
- tcl_env :: TcTypeEnv

modifyLclCtxt :: (TcLclCtxt -> TcLclCtxt) -> TcLclEnv -> TcLclEnv Source #

getLclEnvArrowCtxt :: TcLclEnv -> ArrowCtxt Source #

getLclEnvThBndrs :: TcLclEnv -> ThBindEnv Source #

getLclEnvTypeEnv :: TcLclEnv -> TcTypeEnv Source #

getLclEnvBinderStack :: TcLclEnv -> TcBinderStack Source #

getLclEnvErrCtxt :: TcLclEnv -> [ErrCtxt] Source #

getLclEnvLoc :: TcLclEnv -> RealSrcSpan Source #

getLclEnvRdrEnv :: TcLclEnv -> LocalRdrEnv Source #

getLclEnvTcLevel :: TcLclEnv -> TcLevel Source #

getLclEnvThStage :: TcLclEnv -> ThStage Source #

setLclEnvTcLevel :: TcLevel -> TcLclEnv -> TcLclEnv Source #

setLclEnvLoc :: RealSrcSpan -> TcLclEnv -> TcLclEnv Source #

setLclEnvRdrEnv :: LocalRdrEnv -> TcLclEnv -> TcLclEnv Source #

setLclEnvBinderStack :: TcBinderStack -> TcLclEnv -> TcLclEnv Source #

setLclEnvErrCtxt :: [ErrCtxt] -> TcLclEnv -> TcLclEnv Source #

setLclEnvThStage :: ThStage -> TcLclEnv -> TcLclEnv Source #

setLclEnvTypeEnv :: TcTypeEnv -> TcLclEnv -> TcLclEnv Source #

modifyLclEnvTcLevel :: (TcLevel -> TcLevel) -> TcLclEnv -> TcLclEnv Source #

lclEnvInGeneratedCode :: TcLclEnv -> Bool Source #

addLclEnvErrCtxt :: ErrCtxt -> TcLclEnv -> TcLclEnv Source #

data ArrowCtxt Source #

Constructors

NoArrowCtxt |
ArrowCtxt LocalRdrEnv (TcRef WantedConstraints) |

type ThBindEnv = NameEnv (TopLevelFlag, ThLevel) Source #

type TcTypeEnv = NameEnv TcTyThing Source #