haskell-tools-ast-1.1.1.0: Haskell AST for efficient tooling

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Tools.AST.SemaInfoTypes

Contents

Synopsis

Documentation

data NoSemanticInfo Source #

Semantic info type for any node not carrying additional semantic information

Instances
Data NoSemanticInfo Source # 
Instance details

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 #

data ScopeInfo Source #

Info for expressions that tells which definitions are in scope

Instances
Data ScopeInfo Source # 
Instance details

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 # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

data NameInfo n Source #

Info corresponding to a name

Instances
(Data n, Typeable n, Data (IdP n)) => Data (NameInfo n) Source # 
Instance details

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 # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasDefiningInfo' (NameInfo n) Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasScopeInfo' (NameInfo n) Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasNameInfo' (NameInfo GhcRn) Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

data CNameInfo Source #

Info corresponding to a name that is correctly identified

Instances
Data CNameInfo Source # 
Instance details

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) -> CNameInfo -> c CNameInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CNameInfo #

toConstr :: CNameInfo -> Constr #

dataTypeOf :: CNameInfo -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CNameInfo) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CNameInfo) #

gmapT :: (forall b. Data b => b -> b) -> CNameInfo -> CNameInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CNameInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CNameInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> CNameInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CNameInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CNameInfo -> m CNameInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CNameInfo -> m CNameInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CNameInfo -> m CNameInfo #

HasDefiningInfo' CNameInfo Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasScopeInfo' CNameInfo Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasFixityInfo' CNameInfo Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasIdInfo' CNameInfo Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasNameInfo' CNameInfo Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

data ModuleInfo n Source #

Info for the module element

Instances
(Data n, Typeable n, Data (IdP n)) => Data (ModuleInfo n) Source # 
Instance details

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) -> ModuleInfo n -> c (ModuleInfo n) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ModuleInfo n) #

toConstr :: ModuleInfo n -> Constr #

dataTypeOf :: ModuleInfo n -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ModuleInfo n)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ModuleInfo n)) #

gmapT :: (forall b. Data b => b -> b) -> ModuleInfo n -> ModuleInfo n #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ModuleInfo n -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ModuleInfo n -> r #

gmapQ :: (forall d. Data d => d -> u) -> ModuleInfo n -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ModuleInfo n -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ModuleInfo n -> m (ModuleInfo n) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleInfo n -> m (ModuleInfo n) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleInfo n -> m (ModuleInfo n) #

HasModuleInfo' (ModuleInfo GhcRn) Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasModuleInfo' (ModuleInfo GhcTc) Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

data ImportInfo n Source #

Info corresponding to an import declaration

Instances
(Data n, Typeable n, Data (IdP n)) => Data (ImportInfo n) Source # 
Instance details

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) -> ImportInfo n -> c (ImportInfo n) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ImportInfo n) #

toConstr :: ImportInfo n -> Constr #

dataTypeOf :: ImportInfo n -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ImportInfo n)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ImportInfo n)) #

gmapT :: (forall b. Data b => b -> b) -> ImportInfo n -> ImportInfo n #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ImportInfo n -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ImportInfo n -> r #

gmapQ :: (forall d. Data d => d -> u) -> ImportInfo n -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ImportInfo n -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ImportInfo n -> m (ImportInfo n) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ImportInfo n -> m (ImportInfo n) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ImportInfo n -> m (ImportInfo n) #

HasImportInfo' (ImportInfo GhcRn) Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasImportInfo' (ImportInfo GhcTc) Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

data ImplicitFieldInfo Source #

Info corresponding to a record-wildcard

Instances
Data ImplicitFieldInfo Source # 
Instance details

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) -> ImplicitFieldInfo -> c ImplicitFieldInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ImplicitFieldInfo #

toConstr :: ImplicitFieldInfo -> Constr #

dataTypeOf :: ImplicitFieldInfo -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ImplicitFieldInfo) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ImplicitFieldInfo) #

gmapT :: (forall b. Data b => b -> b) -> ImplicitFieldInfo -> ImplicitFieldInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ImplicitFieldInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ImplicitFieldInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> ImplicitFieldInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ImplicitFieldInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ImplicitFieldInfo -> m ImplicitFieldInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ImplicitFieldInfo -> m ImplicitFieldInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ImplicitFieldInfo -> m ImplicitFieldInfo #

HasImplicitFieldsInfo' ImplicitFieldInfo Source # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

data UsageSpec Source #

Instances
Data UsageSpec Source # 
Instance details

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 # 
Instance details

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 # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

data PreLiteralInfo Source #

Instances
Data PreLiteralInfo Source # 
Instance details

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 #

nameIsDefined :: forall n. Lens (NameInfo n) (NameInfo n) Bool Bool Source #

nameInfo :: forall n n'. Partial (NameInfo n) (NameInfo n') (IdP n) (IdP n') Source #

ambiguousName :: forall n. Partial (NameInfo n) (NameInfo n) RdrName RdrName Source #

nameLocation :: forall n. Partial (NameInfo n) (NameInfo n) SrcSpan SrcSpan Source #

implicitName :: forall n. Partial (NameInfo n) (NameInfo n) String String Source #

implicitNames :: forall n n'. Lens (ModuleInfo n) (ModuleInfo n') [PName n] [PName n'] 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 #

prelTransMods :: forall n. Lens (ModuleInfo n) (ModuleInfo n) [Module] [Module] Source #

importTransMods :: forall n. Lens (ImportInfo n) (ImportInfo n) [Module] [Module] 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

data PName n Source #

Constructors

PName 

Fields

Instances
(Data n, Typeable n, Data (IdP n)) => Data (PName n) Source # 
Instance details

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) #

pName :: forall n. Lens (PName n) (PName n) (IdP n) (IdP n) Source #

pNameParent :: forall n. Lens (PName n) (PName n) (Maybe (IdP n)) (Maybe (IdP n)) Source #

trfPNames :: (IdP n -> IdP n') -> PName n -> PName n' Source #

trfPNamesM :: Monad m => (IdP n -> m (IdP n')) -> PName n -> m (PName 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 # 
Instance details

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 # 
Instance details

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 # 
Instance details

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 #