Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.Haskell.Tools.AST.SemaInfoTypes
Contents
Synopsis
- data NoSemanticInfo
- data ScopeInfo
- data NameInfo n
- data CNameInfo
- data ModuleInfo n
- data ImportInfo n
- data ImplicitFieldInfo
- type Scope = [[(Name, Maybe [UsageSpec], Maybe Name)]]
- data UsageSpec = UsageSpec {}
- data LiteralInfo = LiteralInfo {
- _literalType :: Type
- data PreLiteralInfo
- = RealLiteralInfo { }
- | PreLiteralInfo { }
- exprScopedLocals :: Lens ScopeInfo ScopeInfo Scope Scope
- nameScopedLocals :: forall n. Lens (NameInfo n) (NameInfo n) Scope Scope
- nameIsDefined :: forall n. Lens (NameInfo n) (NameInfo n) Bool Bool
- nameInfo :: forall n n'. Partial (NameInfo n) (NameInfo n') (IdP n) (IdP n')
- ambiguousName :: forall n. Partial (NameInfo n) (NameInfo n) RdrName RdrName
- nameLocation :: forall n. Partial (NameInfo n) (NameInfo n) SrcSpan SrcSpan
- implicitName :: forall n. Partial (NameInfo n) (NameInfo n) String String
- cnameScopedLocals :: Lens CNameInfo CNameInfo Scope Scope
- cnameIsDefined :: Lens CNameInfo CNameInfo Bool Bool
- cnameInfo :: Lens CNameInfo CNameInfo Id Id
- cnameFixity :: Lens CNameInfo CNameInfo (Maybe Fixity) (Maybe Fixity)
- defModuleName :: forall n. Lens (ModuleInfo n) (ModuleInfo n) Module Module
- defDynFlags :: forall n. Lens (ModuleInfo n) (ModuleInfo n) DynFlags DynFlags
- defIsBootModule :: forall n. Lens (ModuleInfo n) (ModuleInfo n) Bool Bool
- implicitNames :: forall n n'. Lens (ModuleInfo n) (ModuleInfo n') [PName n] [PName n']
- importedModule :: forall n. Lens (ImportInfo n) (ImportInfo n) Module Module
- availableNames :: forall n. Lens (ImportInfo n) (ImportInfo n) [IdP n] [IdP n]
- importedNames :: forall n. Lens (ImportInfo n) (ImportInfo n) [PName n] [PName n]
- implicitFieldBindings :: Lens ImplicitFieldInfo ImplicitFieldInfo [(Name, Name)] [(Name, Name)]
- prelTransMods :: forall n. Lens (ModuleInfo n) (ModuleInfo n) [Module] [Module]
- importTransMods :: forall n. Lens (ImportInfo n) (ImportInfo n) [Module] [Module]
- literalType :: Lens LiteralInfo LiteralInfo Type Type
- mkNoSemanticInfo :: NoSemanticInfo
- mkScopeInfo :: Scope -> ScopeInfo
- mkNameInfo :: Scope -> Bool -> IdP n -> NameInfo n
- mkAmbiguousNameInfo :: Scope -> Bool -> RdrName -> SrcSpan -> NameInfo n
- mkImplicitNameInfo :: Scope -> Bool -> String -> SrcSpan -> NameInfo n
- mkCNameInfo :: Scope -> Bool -> Id -> Maybe Fixity -> CNameInfo
- mkModuleInfo :: Module -> DynFlags -> Bool -> [PName n] -> [Module] -> ModuleInfo n
- mkImportInfo :: Module -> [IdP n] -> [PName n] -> [Module] -> ImportInfo n
- mkImplicitFieldInfo :: [(Name, Name)] -> ImplicitFieldInfo
- data PName n = PName {
- _pName :: IdP n
- _pNameParent :: Maybe (IdP n)
- pName :: forall n. Lens (PName n) (PName n) (IdP n) (IdP n)
- pNameParent :: forall n. Lens (PName n) (PName n) (Maybe (IdP n)) (Maybe (IdP n))
- trfPNames :: (IdP n -> IdP n') -> PName n -> PName n'
- trfPNamesM :: Monad m => (IdP n -> m (IdP n')) -> PName n -> m (PName n')
- trfImportInfo :: (IdP n -> IdP n') -> ImportInfo n -> ImportInfo n'
- trfImportInfoM :: Monad m => (IdP n -> m (IdP n')) -> ImportInfo n -> m (ImportInfo n')
- trfModuleInfoM :: Monad m => (IdP n -> m (IdP n')) -> ModuleInfo n -> m (ModuleInfo n')
- getInstances :: GhcMonad m => [Module] -> m ([ClsInst], [FamInst])
Documentation
data NoSemanticInfo Source #
Semantic info type for any node not carrying additional semantic information
Instances
Data NoSemanticInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoTypes Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NoSemanticInfo -> c NoSemanticInfo # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NoSemanticInfo # toConstr :: NoSemanticInfo -> Constr # dataTypeOf :: NoSemanticInfo -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NoSemanticInfo) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NoSemanticInfo) # gmapT :: (forall b. Data b => b -> b) -> NoSemanticInfo -> NoSemanticInfo # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NoSemanticInfo -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NoSemanticInfo -> r # gmapQ :: (forall d. Data d => d -> u) -> NoSemanticInfo -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NoSemanticInfo -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NoSemanticInfo -> m NoSemanticInfo # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NoSemanticInfo -> m NoSemanticInfo # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NoSemanticInfo -> m NoSemanticInfo # |
Info for expressions that tells which definitions are in scope
Instances
Data ScopeInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoTypes Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ScopeInfo -> c ScopeInfo # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ScopeInfo # toConstr :: ScopeInfo -> Constr # dataTypeOf :: ScopeInfo -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ScopeInfo) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ScopeInfo) # gmapT :: (forall b. Data b => b -> b) -> ScopeInfo -> ScopeInfo # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ScopeInfo -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ScopeInfo -> r # gmapQ :: (forall d. Data d => d -> u) -> ScopeInfo -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ScopeInfo -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ScopeInfo -> m ScopeInfo # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ScopeInfo -> m ScopeInfo # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ScopeInfo -> m ScopeInfo # | |
HasScopeInfo' ScopeInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsScope :: ScopeInfo -> Scope Source # |
Info corresponding to a name
Instances
(Data n, Typeable n, Data (IdP n)) => Data (NameInfo n) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoTypes Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NameInfo n -> c (NameInfo n) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (NameInfo n) # toConstr :: NameInfo n -> Constr # dataTypeOf :: NameInfo n -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (NameInfo n)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (NameInfo n)) # gmapT :: (forall b. Data b => b -> b) -> NameInfo n -> NameInfo n # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NameInfo n -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NameInfo n -> r # gmapQ :: (forall d. Data d => d -> u) -> NameInfo n -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NameInfo n -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NameInfo n -> m (NameInfo n) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NameInfo n -> m (NameInfo n) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NameInfo n -> m (NameInfo n) # | |
HasSourceInfoInSema' (NameInfo n) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses | |
HasDefiningInfo' (NameInfo n) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsDefining :: NameInfo n -> Bool Source # | |
HasScopeInfo' (NameInfo n) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsScope :: NameInfo n -> Scope Source # | |
HasNameInfo' (NameInfo GhcRn) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses |
Info corresponding to a name that is correctly identified
Instances
data ModuleInfo n Source #
Info for the module element
Instances
data ImportInfo n Source #
Info corresponding to an import declaration
Instances
data ImplicitFieldInfo Source #
Info corresponding to a record-wildcard
Instances
Constructors
UsageSpec | |
Fields
|
Instances
Data UsageSpec Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoTypes Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UsageSpec -> c UsageSpec # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UsageSpec # toConstr :: UsageSpec -> Constr # dataTypeOf :: UsageSpec -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UsageSpec) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UsageSpec) # gmapT :: (forall b. Data b => b -> b) -> UsageSpec -> UsageSpec # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UsageSpec -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UsageSpec -> r # gmapQ :: (forall d. Data d => d -> u) -> UsageSpec -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> UsageSpec -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> UsageSpec -> m UsageSpec # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UsageSpec -> m UsageSpec # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UsageSpec -> m UsageSpec # |
data LiteralInfo Source #
Constructors
LiteralInfo | |
Fields
|
Instances
Data LiteralInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoTypes Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LiteralInfo -> c LiteralInfo # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LiteralInfo # toConstr :: LiteralInfo -> Constr # dataTypeOf :: LiteralInfo -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LiteralInfo) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LiteralInfo) # gmapT :: (forall b. Data b => b -> b) -> LiteralInfo -> LiteralInfo # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LiteralInfo -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LiteralInfo -> r # gmapQ :: (forall d. Data d => d -> u) -> LiteralInfo -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LiteralInfo -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LiteralInfo -> m LiteralInfo # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LiteralInfo -> m LiteralInfo # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LiteralInfo -> m LiteralInfo # | |
HasLiteralInfo' LiteralInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods |
data PreLiteralInfo Source #
Constructors
RealLiteralInfo | |
Fields | |
PreLiteralInfo | |
Fields |
Instances
Data PreLiteralInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoTypes Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PreLiteralInfo -> c PreLiteralInfo # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PreLiteralInfo # toConstr :: PreLiteralInfo -> Constr # dataTypeOf :: PreLiteralInfo -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PreLiteralInfo) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PreLiteralInfo) # gmapT :: (forall b. Data b => b -> b) -> PreLiteralInfo -> PreLiteralInfo # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PreLiteralInfo -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PreLiteralInfo -> r # gmapQ :: (forall d. Data d => d -> u) -> PreLiteralInfo -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PreLiteralInfo -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PreLiteralInfo -> m PreLiteralInfo # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PreLiteralInfo -> m PreLiteralInfo # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PreLiteralInfo -> m PreLiteralInfo # |
defModuleName :: forall n. Lens (ModuleInfo n) (ModuleInfo n) Module Module Source #
defDynFlags :: forall n. Lens (ModuleInfo n) (ModuleInfo n) DynFlags DynFlags Source #
defIsBootModule :: forall n. Lens (ModuleInfo n) (ModuleInfo n) Bool Bool Source #
implicitNames :: forall n n'. Lens (ModuleInfo n) (ModuleInfo n') [PName n] [PName n'] Source #
importedModule :: forall n. Lens (ImportInfo n) (ImportInfo n) Module Module Source #
availableNames :: forall n. Lens (ImportInfo n) (ImportInfo n) [IdP n] [IdP n] Source #
importedNames :: forall n. Lens (ImportInfo n) (ImportInfo n) [PName n] [PName n] Source #
implicitFieldBindings :: Lens ImplicitFieldInfo ImplicitFieldInfo [(Name, Name)] [(Name, Name)] Source #
prelTransMods :: forall n. Lens (ModuleInfo n) (ModuleInfo n) [Module] [Module] Source #
importTransMods :: forall n. Lens (ImportInfo n) (ImportInfo n) [Module] [Module] Source #
literalType :: Lens LiteralInfo LiteralInfo Type Type Source #
mkScopeInfo :: Scope -> ScopeInfo Source #
Creates the information about the definitions in scope
mkNameInfo :: Scope -> Bool -> IdP n -> NameInfo n Source #
Creates semantic information for an unambiguous name
mkAmbiguousNameInfo :: Scope -> Bool -> RdrName -> SrcSpan -> NameInfo n Source #
Creates semantic information for a name that is ambiguous because the lack of type info
mkImplicitNameInfo :: Scope -> Bool -> String -> SrcSpan -> NameInfo n Source #
Creates semantic information for an implicit name
mkCNameInfo :: Scope -> Bool -> Id -> Maybe Fixity -> CNameInfo Source #
Create a typed name semantic information
mkModuleInfo :: Module -> DynFlags -> Bool -> [PName n] -> [Module] -> ModuleInfo n Source #
Creates semantic information for the module element. Strict in the list of implicitely imported, orphan and family instances.
mkImportInfo :: Module -> [IdP n] -> [PName n] -> [Module] -> ImportInfo n Source #
Creates semantic information for an import declaration Strict in the list of the used and imported declarations, orphan and family instances.
mkImplicitFieldInfo :: [(Name, Name)] -> ImplicitFieldInfo Source #
Creates semantic information for a wildcard field binding
Instances
(Data n, Typeable n, Data (IdP n)) => Data (PName n) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoTypes Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PName n -> c (PName n) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (PName n) # toConstr :: PName n -> Constr # dataTypeOf :: PName n -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (PName n)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (PName n)) # gmapT :: (forall b. Data b => b -> b) -> PName n -> PName n # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PName n -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PName n -> r # gmapQ :: (forall d. Data d => d -> u) -> PName n -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PName n -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PName n -> m (PName n) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PName n -> m (PName n) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PName n -> m (PName n) # |
trfImportInfo :: (IdP n -> IdP n') -> ImportInfo n -> ImportInfo n' Source #
trfImportInfoM :: Monad m => (IdP n -> m (IdP n')) -> ImportInfo n -> m (ImportInfo n') Source #
trfModuleInfoM :: Monad m => (IdP n -> m (IdP n')) -> ModuleInfo n -> m (ModuleInfo n') Source #
getInstances :: GhcMonad m => [Module] -> m ([ClsInst], [FamInst]) Source #
Gets the class and family instances from a module.
Orphan instances
Data FamInst Source # | |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FamInst -> c FamInst # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FamInst # toConstr :: FamInst -> Constr # dataTypeOf :: FamInst -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FamInst) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FamInst) # gmapT :: (forall b. Data b => b -> b) -> FamInst -> FamInst # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FamInst -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FamInst -> r # gmapQ :: (forall d. Data d => d -> u) -> FamInst -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FamInst -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FamInst -> m FamInst # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FamInst -> m FamInst # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FamInst -> m FamInst # | |
Data FamFlavor Source # | |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FamFlavor -> c FamFlavor # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FamFlavor # toConstr :: FamFlavor -> Constr # dataTypeOf :: FamFlavor -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FamFlavor) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FamFlavor) # gmapT :: (forall b. Data b => b -> b) -> FamFlavor -> FamFlavor # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FamFlavor -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FamFlavor -> r # gmapQ :: (forall d. Data d => d -> u) -> FamFlavor -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FamFlavor -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FamFlavor -> m FamFlavor # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FamFlavor -> m FamFlavor # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FamFlavor -> m FamFlavor # | |
Data DynFlags Source # | |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DynFlags -> c DynFlags # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DynFlags # toConstr :: DynFlags -> Constr # dataTypeOf :: DynFlags -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DynFlags) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DynFlags) # gmapT :: (forall b. Data b => b -> b) -> DynFlags -> DynFlags # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DynFlags -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DynFlags -> r # gmapQ :: (forall d. Data d => d -> u) -> DynFlags -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DynFlags -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DynFlags -> m DynFlags # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DynFlags -> m DynFlags # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DynFlags -> m DynFlags # |