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

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Tools.AST.Ann

Contents

Description

Parts of AST representation for keeping extra data

Synopsis

Annotation type resolution

data RangeStage #

A stage in which the nodes are marked with the ranges in the source files which contain the source code of the given AST element.

Instances
Data RangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RangeStage -> c RangeStage #

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

toConstr :: RangeStage -> Constr #

dataTypeOf :: RangeStage -> DataType #

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

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

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

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

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

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

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

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

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

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

RangeInfo RangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

SourceInfo RangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Associated Types

data SpanInfo RangeStage :: * #

data ListInfo RangeStage :: * #

data OptionalInfo RangeStage :: * #

Data (SpanInfo RangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SpanInfo RangeStage -> c (SpanInfo RangeStage) #

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

toConstr :: SpanInfo RangeStage -> Constr #

dataTypeOf :: SpanInfo RangeStage -> DataType #

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

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

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

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

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

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

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

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

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

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

Data (ListInfo RangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ListInfo RangeStage -> c (ListInfo RangeStage) #

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

toConstr :: ListInfo RangeStage -> Constr #

dataTypeOf :: ListInfo RangeStage -> DataType #

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

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

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

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

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

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

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

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

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

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

Data (OptionalInfo RangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OptionalInfo RangeStage -> c (OptionalInfo RangeStage) #

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

toConstr :: OptionalInfo RangeStage -> Constr #

dataTypeOf :: OptionalInfo RangeStage -> DataType #

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

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

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

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

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

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

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

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

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

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

Show (SpanInfo RangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Show (ListInfo RangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Show (OptionalInfo RangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

HasRange (SpanInfo RangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

HasRange (ListInfo RangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

HasRange (OptionalInfo RangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

data SpanInfo RangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

data ListInfo RangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

data OptionalInfo RangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

data NormRangeStage #

A stage in which the nodes are still marked with ranges, but these ranges are normalized. Optional and list elements also have ranges in that state.

Instances
Data NormRangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NormRangeStage -> c NormRangeStage #

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

toConstr :: NormRangeStage -> Constr #

dataTypeOf :: NormRangeStage -> DataType #

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

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

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

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

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

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

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

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

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

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

SourceInfo NormRangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Data (SpanInfo NormRangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SpanInfo NormRangeStage -> c (SpanInfo NormRangeStage) #

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

toConstr :: SpanInfo NormRangeStage -> Constr #

dataTypeOf :: SpanInfo NormRangeStage -> DataType #

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

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

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

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

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

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

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

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

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

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

Data (ListInfo NormRangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ListInfo NormRangeStage -> c (ListInfo NormRangeStage) #

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

toConstr :: ListInfo NormRangeStage -> Constr #

dataTypeOf :: ListInfo NormRangeStage -> DataType #

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

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

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

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

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

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

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

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

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

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

Data (OptionalInfo NormRangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OptionalInfo NormRangeStage -> c (OptionalInfo NormRangeStage) #

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

toConstr :: OptionalInfo NormRangeStage -> Constr #

dataTypeOf :: OptionalInfo NormRangeStage -> DataType #

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

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

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

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

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

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

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

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

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

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

Show (SpanInfo NormRangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Show (ListInfo NormRangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Show (OptionalInfo NormRangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

HasRange (SpanInfo NormRangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

HasRange (ListInfo NormRangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

HasRange (OptionalInfo NormRangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

data SpanInfo NormRangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

data ListInfo NormRangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

data OptionalInfo NormRangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

data RngTemplateStage #

A stage in which AST elements are marked with templates. These templates are hierarchical, and contain the places of the children elements of the node.

Instances
Data RngTemplateStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RngTemplateStage -> c RngTemplateStage #

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

toConstr :: RngTemplateStage -> Constr #

dataTypeOf :: RngTemplateStage -> DataType #

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

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

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

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

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

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

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

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

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

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

data SrcTemplateStage #

A stage where the annotation controls how the original source code can be retrieved from the AST. A source template is assigned to each node. It has holes where the content of an other node should be printed and ranges for the source code of the node.

Instances
Data SrcTemplateStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SrcTemplateStage -> c SrcTemplateStage #

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

toConstr :: SrcTemplateStage -> Constr #

dataTypeOf :: SrcTemplateStage -> DataType #

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

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

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

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

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

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

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

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

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

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

data Dom name #

With this domain, semantic information can be parameterized. In practice it is only used if the compilation cannot proceed past the type checking phase.

Instances
(Data name, Typeable name) => Data (Dom name) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Dom name -> c (Dom name) #

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

toConstr :: Dom name -> Constr #

dataTypeOf :: Dom name -> DataType #

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

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

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

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

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

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

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

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

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

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

type SemanticInfo' (Dom n) SemaInfoDefaultCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoWildcardCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoModuleCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoImportCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoExprCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoLitCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoNameCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

data IdDom #

Instances
Data IdDom # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IdDom -> c IdDom #

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

toConstr :: IdDom -> Constr #

dataTypeOf :: IdDom -> DataType #

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

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

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

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

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

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

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

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

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

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

type SemanticInfo' IdDom SemaInfoWildcardCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' IdDom SemaInfoDefaultCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' IdDom SemaInfoModuleCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' IdDom SemaInfoImportCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' IdDom SemaInfoExprCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' IdDom SemaInfoLitCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' IdDom SemaInfoNameCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo (domain :: *) (node :: * -> * -> *) = SemanticInfo' domain (SemaInfoClassify node) #

type family SemanticInfo' (domain :: *) (nodecls :: *) #

Instances
type SemanticInfo' IdDom SemaInfoWildcardCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' IdDom SemaInfoDefaultCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' IdDom SemaInfoModuleCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' IdDom SemaInfoImportCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' IdDom SemaInfoExprCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' IdDom SemaInfoLitCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' IdDom SemaInfoNameCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoDefaultCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoWildcardCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoModuleCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoImportCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoExprCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoLitCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SemanticInfo' (Dom n) SemaInfoNameCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type Domain d = (Typeable d, Data d, SemanticInfo' d SemaInfoDefaultCls ~ NoSemanticInfo, Data (SemanticInfo' d SemaInfoNameCls), Data (SemanticInfo' d SemaInfoLitCls), Data (SemanticInfo' d SemaInfoExprCls), Data (SemanticInfo' d SemaInfoImportCls), Data (SemanticInfo' d SemaInfoModuleCls), Data (SemanticInfo' d SemaInfoWildcardCls)) #

A semantic domain for the AST. The semantic domain maps semantic information for the different types of nodes in the AST. The kind of semantic domain for an AST depends on which stages of the compilation it passed. However after transforming the GHC representation to our AST, the domain stays the same. The domain is not applied to the AST elements that are generated while refactoring.

class HasRange a where #

Extracts or modifies the concrete range corresponding to a given source info. In case of lists and optional elements, it may not contain the elements inside.

Minimal complete definition

getRange, setRange

Methods

getRange :: a -> SrcSpan #

setRange :: SrcSpan -> a -> a #

Instances
HasRange (SpanInfo NormRangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

HasRange (SpanInfo RangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

HasRange (ListInfo NormRangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

HasRange (ListInfo RangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

HasRange (OptionalInfo NormRangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

HasRange (OptionalInfo RangeStage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

SourceInfo stage => HasRange (Ann elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

getRange :: Ann elem dom stage -> SrcSpan #

setRange :: SrcSpan -> Ann elem dom stage -> Ann elem dom stage #

SourceInfo stage => HasRange (AnnListG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

getRange :: AnnListG elem dom stage -> SrcSpan #

setRange :: SrcSpan -> AnnListG elem dom stage -> AnnListG elem dom stage #

SourceInfo stage => HasRange (AnnMaybeG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

getRange :: AnnMaybeG elem dom stage -> SrcSpan #

setRange :: SrcSpan -> AnnMaybeG elem dom stage -> AnnMaybeG elem dom stage #

class (Typeable stage, Data stage, Data (SpanInfo stage), Data (ListInfo stage), Data (OptionalInfo stage), HasRange (SpanInfo stage), HasRange (ListInfo stage), HasRange (OptionalInfo stage)) => SourceInfo stage #

Class for source information stages

Associated Types

data SpanInfo stage :: * #

UType of source info for normal AST elements

data ListInfo stage :: * #

UType of source info for lists of AST elements

data OptionalInfo stage :: * #

UType of source info for optional AST elements

Instances
SourceInfo NormRangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

SourceInfo RangeStage # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Associated Types

data SpanInfo RangeStage :: * #

data ListInfo RangeStage :: * #

data OptionalInfo RangeStage :: * #

shortShowSpan :: SrcSpan -> String #

A short form of showing a range, without file name, for debugging purposes.

shortShowLoc :: SrcLoc -> String #

A short form of showing a range, without file name, for debugging purposes.

class SourceInfo stage => RangeInfo stage where #

A class for marking a source information stage. All programs, regardless of correct Haskell programs or not, must go through these stages to be refactored.

Minimal complete definition

nodeSpan, listPos, optionalPos

Annotations

data NodeInfo sema src #

Semantic and source code related information for an AST node.

Constructors

NodeInfo 

Fields

Instances
(Eq sema, Eq src) => Eq (NodeInfo sema src) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

(==) :: NodeInfo sema src -> NodeInfo sema src -> Bool #

(/=) :: NodeInfo sema src -> NodeInfo sema src -> Bool #

(Data sema, Data src) => Data (NodeInfo sema src) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NodeInfo sema src -> c (NodeInfo sema src) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (NodeInfo sema src) #

toConstr :: NodeInfo sema src -> Constr #

dataTypeOf :: NodeInfo sema src -> DataType #

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

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

gmapT :: (forall b. Data b => b -> b) -> NodeInfo sema src -> NodeInfo sema src #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NodeInfo sema src -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NodeInfo sema src -> r #

gmapQ :: (forall d. Data d => d -> u) -> NodeInfo sema src -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> NodeInfo sema src -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NodeInfo sema src -> m (NodeInfo sema src) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NodeInfo sema src -> m (NodeInfo sema src) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NodeInfo sema src -> m (NodeInfo sema src) #

(Show sema, Show src) => Show (NodeInfo sema src) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

showsPrec :: Int -> NodeInfo sema src -> ShowS #

show :: NodeInfo sema src -> String #

showList :: [NodeInfo sema src] -> ShowS #

sourceInfo :: forall sema src src'. Lens (NodeInfo sema src) (NodeInfo sema src') src src' #

semanticInfo :: forall sema src sema'. Lens (NodeInfo sema src) (NodeInfo sema' src) sema sema' #

data Ann elem dom stage #

An element of the AST keeping extra information.

Constructors

Ann 

Fields

Instances
(GoodOperationFor c (Ann elem dom stage), ClassyPlate c (elem dom stage)) => ClassyPlate c (Ann elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.ClassyPlate

Methods

bottomUp_ :: ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> Ann elem dom stage -> Ann elem dom stage #

bottomUpM_ :: Monad m => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> Ann elem dom stage -> m (Ann elem dom stage) #

descend_ :: ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> Ann elem dom stage -> Ann elem dom stage #

descendM_ :: Monad m => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> Ann elem dom stage -> m (Ann elem dom stage) #

topDown_ :: ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> Ann elem dom stage -> Ann elem dom stage #

topDownM_ :: Monad m => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> Ann elem dom stage -> m (Ann elem dom stage) #

SourceInfoTraversal e => SourceInfoTraversal (Ann e) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> Ann e dom st1 -> f (Ann e dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> Ann e dom st1 -> f (Ann e dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> Ann e dom st1 -> f (Ann e dom st2) #

(ApplySemaChange (SemaInfoClassify e), SemanticTraversal e) => SemanticTraversal (Ann e) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Ann e dom1 st -> f (Ann e dom2 st) #

SourceInfo src => Eq (Ann elem dom src) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

(==) :: Ann elem dom src -> Ann elem dom src -> Bool #

(/=) :: Ann elem dom src -> Ann elem dom src -> Bool #

(DomainWith e dom, SourceInfo stage, Typeable e, Data (e dom stage)) => Data (Ann e dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ann e dom stage -> c (Ann e dom stage) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ann e dom stage) #

toConstr :: Ann e dom stage -> Constr #

dataTypeOf :: Ann e dom stage -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ann e dom stage)) #

dataCast2 :: Typeable t => (forall d e0. (Data d, Data e0) => c (t d e0)) -> Maybe (c (Ann e dom stage)) #

gmapT :: (forall b. Data b => b -> b) -> Ann e dom stage -> Ann e dom stage #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ann e dom stage -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ann e dom stage -> r #

gmapQ :: (forall d. Data d => d -> u) -> Ann e dom stage -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Ann e dom stage -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ann e dom stage -> m (Ann e dom stage) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ann e dom stage -> m (Ann e dom stage) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ann e dom stage -> m (Ann e dom stage) #

Domain dom => Generic (Ann e dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.Generic

Associated Types

type Rep (Ann e dom stage) :: * -> * #

Methods

from :: Ann e dom stage -> Rep (Ann e dom stage) x #

to :: Rep (Ann e dom stage) x -> Ann e dom stage #

SourceInfo stage => HasRange (Ann elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

getRange :: Ann elem dom stage -> SrcSpan #

setRange :: SrcSpan -> Ann elem dom stage -> Ann elem dom stage #

HasSourceInfo (Ann elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Associated Types

type SourceInfoType (Ann elem dom stage) :: * #

Methods

srcInfo :: Simple Lens (Ann elem dom stage) (SourceInfoType (Ann elem dom stage)) #

HasImplicitFieldsInfo dom => HasImplicitFieldsInfo' (Ann UFieldWildcard dom st) # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasImportInfo dom => HasImportInfo' (Ann UImportDecl dom st) # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasModuleInfo dom => HasModuleInfo' (Ann UModule dom st) # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasDefiningInfo dom => HasDefiningInfo' (Ann UQualifiedName dom st) # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasScopeInfo dom => HasScopeInfo' (Ann UExpr dom st) # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

Methods

semanticsScope :: Ann UExpr dom st -> Scope #

HasScopeInfo dom => HasScopeInfo' (Ann UQualifiedName dom st) # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasFixityInfo dom => HasFixityInfo' (Ann UQualifiedName dom st) # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasIdInfo dom => HasIdInfo' (Ann UQualifiedName dom st) # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

Methods

semanticsId :: Ann UQualifiedName dom st -> Id #

HasIdInfo dom => HasIdInfo' (Ann UName dom st) # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

Methods

semanticsId :: Ann UName dom st -> Id #

HasLiteralInfo dom => HasLiteralInfo' (Ann ULiteral dom st) # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

Methods

semanticsLiteralType :: Ann ULiteral dom st -> Type #

HasNameInfo dom => HasNameInfo' (Ann UQualifiedName dom st) # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

HasNameInfo dom => HasNameInfo' (Ann UName dom st) # 
Instance details

Defined in Language.Haskell.Tools.AST.SemaInfoClasses

Methods

semanticsName :: Ann UName dom st -> Maybe Name #

type Rep (Ann e dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.Generic

type Rep (Ann e dom stage) = D1 (MetaData "Ann" "Language.Haskell.Tools.AST.Ann" "haskell-tools-ast-1.1.0.1-L5h7QWySptBFYFr7nuPbmb" False) (C1 (MetaCons "Ann" PrefixI True) (S1 (MetaSel (Just "_annotation") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NodeInfo (SemanticInfo dom e) (SpanInfo stage))) :*: S1 (MetaSel (Just "_element") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (e dom stage))))
type IgnoredFields (Ann elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.ClassyPlate

type IgnoredFields (Ann elem dom stage) = (Right "_annotation" :: Either (Symbol, Nat) Symbol) ': ([] :: [Either (Symbol, Nat) Symbol])
type SourceInfoType (Ann elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SourceInfoType (Ann elem dom stage) = SpanInfo stage

element :: forall elem dom stage. Lens (Ann elem dom stage) (Ann elem dom stage) (elem dom stage) (elem dom stage) #

annotation :: forall elem dom stage. Lens (Ann elem dom stage) (Ann elem dom stage) (NodeInfo (SemanticInfo dom elem) (SpanInfo stage)) (NodeInfo (SemanticInfo dom elem) (SpanInfo stage)) #

data AnnListG elem dom stage #

A list of AST elements

Constructors

AnnListG 

Fields

Instances
(GoodOperationFor c (AnnListG elem dom stage), ClassyPlate c [Ann elem dom stage]) => ClassyPlate c (AnnListG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.ClassyPlate

Methods

bottomUp_ :: ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> AnnListG elem dom stage -> AnnListG elem dom stage #

bottomUpM_ :: Monad m => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> AnnListG elem dom stage -> m (AnnListG elem dom stage) #

descend_ :: ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> AnnListG elem dom stage -> AnnListG elem dom stage #

descendM_ :: Monad m => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> AnnListG elem dom stage -> m (AnnListG elem dom stage) #

topDown_ :: ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> AnnListG elem dom stage -> AnnListG elem dom stage #

topDownM_ :: Monad m => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> AnnListG elem dom stage -> m (AnnListG elem dom stage) #

SourceInfoTraversal e => SourceInfoTraversal (AnnListG e) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> AnnListG e dom st1 -> f (AnnListG e dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> AnnListG e dom st1 -> f (AnnListG e dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> AnnListG e dom st1 -> f (AnnListG e dom st2) #

(ApplySemaChange (SemaInfoClassify e), SemanticTraversal e) => SemanticTraversal (AnnListG e) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> AnnListG e dom1 st -> f (AnnListG e dom2 st) #

(DomainWith e dom, SourceInfo stage, Typeable e, Data (e dom stage)) => Data (AnnListG e dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AnnListG e dom stage -> c (AnnListG e dom stage) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AnnListG e dom stage) #

toConstr :: AnnListG e dom stage -> Constr #

dataTypeOf :: AnnListG e dom stage -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AnnListG e dom stage)) #

dataCast2 :: Typeable t => (forall d e0. (Data d, Data e0) => c (t d e0)) -> Maybe (c (AnnListG e dom stage)) #

gmapT :: (forall b. Data b => b -> b) -> AnnListG e dom stage -> AnnListG e dom stage #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AnnListG e dom stage -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AnnListG e dom stage -> r #

gmapQ :: (forall d. Data d => d -> u) -> AnnListG e dom stage -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AnnListG e dom stage -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AnnListG e dom stage -> m (AnnListG e dom stage) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AnnListG e dom stage -> m (AnnListG e dom stage) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AnnListG e dom stage -> m (AnnListG e dom stage) #

Domain dom => Generic (AnnListG e dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.Generic

Associated Types

type Rep (AnnListG e dom stage) :: * -> * #

Methods

from :: AnnListG e dom stage -> Rep (AnnListG e dom stage) x #

to :: Rep (AnnListG e dom stage) x -> AnnListG e dom stage #

SourceInfo stage => HasRange (AnnListG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

getRange :: AnnListG elem dom stage -> SrcSpan #

setRange :: SrcSpan -> AnnListG elem dom stage -> AnnListG elem dom stage #

HasSourceInfo (AnnListG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Associated Types

type SourceInfoType (AnnListG elem dom stage) :: * #

Methods

srcInfo :: Simple Lens (AnnListG elem dom stage) (SourceInfoType (AnnListG elem dom stage)) #

type Rep (AnnListG e dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.Generic

type Rep (AnnListG e dom stage) = D1 (MetaData "AnnListG" "Language.Haskell.Tools.AST.Ann" "haskell-tools-ast-1.1.0.1-L5h7QWySptBFYFr7nuPbmb" False) (C1 (MetaCons "AnnListG" PrefixI True) (S1 (MetaSel (Just "_annListAnnot") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NodeInfo (SemanticInfo dom (AnnListG e)) (ListInfo stage))) :*: S1 (MetaSel (Just "_annListElems") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Ann e dom stage])))
type IgnoredFields (AnnListG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.ClassyPlate

type IgnoredFields (AnnListG elem dom stage) = (Right "_annListAnnot" :: Either (Symbol, Nat) Symbol) ': ([] :: [Either (Symbol, Nat) Symbol])
type SourceInfoType (AnnListG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SourceInfoType (AnnListG elem dom stage) = ListInfo stage

annListElems :: forall elem dom stage. Lens (AnnListG elem dom stage) (AnnListG elem dom stage) [Ann elem dom stage] [Ann elem dom stage] #

annListAnnot :: forall elem dom stage. Lens (AnnListG elem dom stage) (AnnListG elem dom stage) (NodeInfo (SemanticInfo dom (AnnListG elem)) (ListInfo stage)) (NodeInfo (SemanticInfo dom (AnnListG elem)) (ListInfo stage)) #

annList :: Traversal (AnnListG e d s) (AnnListG e d s) (Ann e d s) (Ann e d s) #

data AnnMaybeG elem dom stage #

An optional AST element

Constructors

AnnMaybeG 

Fields

Instances
(GoodOperationFor c (AnnMaybeG elem dom stage), ClassyPlate c (Maybe (Ann elem dom stage))) => ClassyPlate c (AnnMaybeG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.ClassyPlate

Methods

bottomUp_ :: ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> AnnMaybeG elem dom stage -> AnnMaybeG elem dom stage #

bottomUpM_ :: Monad m => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> AnnMaybeG elem dom stage -> m (AnnMaybeG elem dom stage) #

descend_ :: ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> AnnMaybeG elem dom stage -> AnnMaybeG elem dom stage #

descendM_ :: Monad m => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> AnnMaybeG elem dom stage -> m (AnnMaybeG elem dom stage) #

topDown_ :: ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> AnnMaybeG elem dom stage -> AnnMaybeG elem dom stage #

topDownM_ :: Monad m => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> AnnMaybeG elem dom stage -> m (AnnMaybeG elem dom stage) #

SourceInfoTraversal e => SourceInfoTraversal (AnnMaybeG e) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> AnnMaybeG e dom st1 -> f (AnnMaybeG e dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> AnnMaybeG e dom st1 -> f (AnnMaybeG e dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> AnnMaybeG e dom st1 -> f (AnnMaybeG e dom st2) #

(ApplySemaChange (SemaInfoClassify e), SemanticTraversal e) => SemanticTraversal (AnnMaybeG e) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> AnnMaybeG e dom1 st -> f (AnnMaybeG e dom2 st) #

(DomainWith e dom, SourceInfo stage, Typeable e, Data (e dom stage)) => Data (AnnMaybeG e dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AnnMaybeG e dom stage -> c (AnnMaybeG e dom stage) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AnnMaybeG e dom stage) #

toConstr :: AnnMaybeG e dom stage -> Constr #

dataTypeOf :: AnnMaybeG e dom stage -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AnnMaybeG e dom stage)) #

dataCast2 :: Typeable t => (forall d e0. (Data d, Data e0) => c (t d e0)) -> Maybe (c (AnnMaybeG e dom stage)) #

gmapT :: (forall b. Data b => b -> b) -> AnnMaybeG e dom stage -> AnnMaybeG e dom stage #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AnnMaybeG e dom stage -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AnnMaybeG e dom stage -> r #

gmapQ :: (forall d. Data d => d -> u) -> AnnMaybeG e dom stage -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AnnMaybeG e dom stage -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AnnMaybeG e dom stage -> m (AnnMaybeG e dom stage) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AnnMaybeG e dom stage -> m (AnnMaybeG e dom stage) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AnnMaybeG e dom stage -> m (AnnMaybeG e dom stage) #

Domain dom => Generic (AnnMaybeG e dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.Generic

Associated Types

type Rep (AnnMaybeG e dom stage) :: * -> * #

Methods

from :: AnnMaybeG e dom stage -> Rep (AnnMaybeG e dom stage) x #

to :: Rep (AnnMaybeG e dom stage) x -> AnnMaybeG e dom stage #

SourceInfo stage => HasRange (AnnMaybeG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

getRange :: AnnMaybeG elem dom stage -> SrcSpan #

setRange :: SrcSpan -> AnnMaybeG elem dom stage -> AnnMaybeG elem dom stage #

HasSourceInfo (AnnMaybeG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Associated Types

type SourceInfoType (AnnMaybeG elem dom stage) :: * #

Methods

srcInfo :: Simple Lens (AnnMaybeG elem dom stage) (SourceInfoType (AnnMaybeG elem dom stage)) #

type Rep (AnnMaybeG e dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.Generic

type Rep (AnnMaybeG e dom stage) = D1 (MetaData "AnnMaybeG" "Language.Haskell.Tools.AST.Ann" "haskell-tools-ast-1.1.0.1-L5h7QWySptBFYFr7nuPbmb" False) (C1 (MetaCons "AnnMaybeG" PrefixI True) (S1 (MetaSel (Just "_annMaybeAnnot") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NodeInfo (SemanticInfo dom (AnnMaybeG e)) (OptionalInfo stage))) :*: S1 (MetaSel (Just "_annMaybe") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Ann e dom stage)))))
type IgnoredFields (AnnMaybeG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.ClassyPlate

type IgnoredFields (AnnMaybeG elem dom stage) = (Right "_annMaybeAnnot" :: Either (Symbol, Nat) Symbol) ': ([] :: [Either (Symbol, Nat) Symbol])
type SourceInfoType (AnnMaybeG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

type SourceInfoType (AnnMaybeG elem dom stage) = OptionalInfo stage

annMaybeAnnot :: forall elem dom stage. Lens (AnnMaybeG elem dom stage) (AnnMaybeG elem dom stage) (NodeInfo (SemanticInfo dom (AnnMaybeG elem)) (OptionalInfo stage)) (NodeInfo (SemanticInfo dom (AnnMaybeG elem)) (OptionalInfo stage)) #

annMaybe :: forall elem dom stage. Lens (AnnMaybeG elem dom stage) (AnnMaybeG elem dom stage) (Maybe (Ann elem dom stage)) (Maybe (Ann elem dom stage)) #

class HasSourceInfo e where #

Minimal complete definition

srcInfo

Associated Types

type SourceInfoType e :: * #

Instances
HasSourceInfo (Ann elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Associated Types

type SourceInfoType (Ann elem dom stage) :: * #

Methods

srcInfo :: Simple Lens (Ann elem dom stage) (SourceInfoType (Ann elem dom stage)) #

HasSourceInfo (AnnListG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Associated Types

type SourceInfoType (AnnListG elem dom stage) :: * #

Methods

srcInfo :: Simple Lens (AnnListG elem dom stage) (SourceInfoType (AnnListG elem dom stage)) #

HasSourceInfo (AnnMaybeG elem dom stage) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Associated Types

type SourceInfoType (AnnMaybeG elem dom stage) :: * #

Methods

srcInfo :: Simple Lens (AnnMaybeG elem dom stage) (SourceInfoType (AnnMaybeG elem dom stage)) #

annJust :: Partial (AnnMaybeG e d s) (AnnMaybeG e d s) (Ann e d s) (Ann e d s) #

annNil :: NodeInfo (SemanticInfo d (AnnListG e)) (ListInfo s) -> AnnListG e d s #

An empty list of AST elements

annLength :: AnnListG e d s -> Int #

annNothing :: NodeInfo (SemanticInfo d (AnnMaybeG e)) (OptionalInfo s) -> AnnMaybeG e d s #

A non-existing AST part

Info types

class ApplySemaChange cls where #

A class for changing semantic information throught the AST.

Minimal complete definition

appSemaChange

Methods

appSemaChange :: SemaTrf f dom1 dom2 -> SemanticInfo' dom1 cls -> f (SemanticInfo' dom2 cls) #

Instances
ApplySemaChange SemaInfoWildcardCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

ApplySemaChange SemaInfoDefaultCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

ApplySemaChange SemaInfoModuleCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

ApplySemaChange SemaInfoImportCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

ApplySemaChange SemaInfoExprCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

ApplySemaChange SemaInfoLitCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

ApplySemaChange SemaInfoNameCls # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

class ApplySemaChange (SemaInfoClassify a) => SemanticTraversal a where #

A class for traversing semantic information in an AST

Minimal complete definition

semaTraverse

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> a dom1 st -> f (a dom2 st) #

Instances
SemanticTraversal URhsGuard # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> URhsGuard dom1 st -> f (URhsGuard dom2 st) #

SemanticTraversal ULocalBinds # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ULocalBinds dom1 st -> f (ULocalBinds dom2 st) #

SemanticTraversal ULocalBind # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ULocalBind dom1 st -> f (ULocalBind dom2 st) #

SemanticTraversal UUnboxedSumPlaceHolder # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UUnboxedSumPlaceHolder dom1 st -> f (UUnboxedSumPlaceHolder dom2 st) #

SemanticTraversal UFieldWildcard # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UFieldWildcard dom1 st -> f (UFieldWildcard dom2 st) #

SemanticTraversal UCmd # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UCmd dom1 st -> f (UCmd dom2 st) #

SemanticTraversal UExpr # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UExpr dom1 st -> f (UExpr dom2 st) #

SemanticTraversal ULiteral # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ULiteral dom1 st -> f (ULiteral dom2 st) #

SemanticTraversal UImportDecl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UImportDecl dom1 st -> f (UImportDecl dom2 st) #

SemanticTraversal UModule # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UModule dom1 st -> f (UModule dom2 st) #

SemanticTraversal UQualifiedName # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UQualifiedName dom1 st -> f (UQualifiedName dom2 st) #

SemanticTraversal UBracket # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UBracket dom1 st -> f (UBracket dom2 st) #

SemanticTraversal UQuasiQuote # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UQuasiQuote dom1 st -> f (UQuasiQuote dom2 st) #

SemanticTraversal USplice # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> USplice dom1 st -> f (USplice dom2 st) #

SemanticTraversal UType # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UType dom1 st -> f (UType dom2 st) #

SemanticTraversal UStringNode # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UStringNode dom1 st -> f (UStringNode dom2 st) #

SemanticTraversal UNamePart # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UNamePart dom1 st -> f (UNamePart dom2 st) #

SemanticTraversal UName # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UName dom1 st -> f (UName dom2 st) #

SemanticTraversal UOperator # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UOperator dom1 st -> f (UOperator dom2 st) #

SemanticTraversal UKind # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UKind dom1 st -> f (UKind dom2 st) #

SemanticTraversal UKindConstraint # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UKindConstraint dom1 st -> f (UKindConstraint dom2 st) #

SemanticTraversal UAssertion # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UAssertion dom1 st -> f (UAssertion dom2 st) #

SemanticTraversal UContext # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UContext dom1 st -> f (UContext dom2 st) #

SemanticTraversal UTyVar # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UTyVar dom1 st -> f (UTyVar dom2 st) #

SemanticTraversal UPatternField # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UPatternField dom1 st -> f (UPatternField dom2 st) #

SemanticTraversal UPattern # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UPattern dom1 st -> f (UPattern dom2 st) #

SemanticTraversal UDoKind # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UDoKind dom1 st -> f (UDoKind dom2 st) #

SemanticTraversal UCompStmt # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UCompStmt dom1 st -> f (UCompStmt dom2 st) #

SemanticTraversal UListCompBody # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UListCompBody dom1 st -> f (UListCompBody dom2 st) #

SemanticTraversal UArrowAppl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UArrowAppl dom1 st -> f (UArrowAppl dom2 st) #

SemanticTraversal Number # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Number dom1 st -> f (Number dom2 st) #

SemanticTraversal USourceRange # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> USourceRange dom1 st -> f (USourceRange dom2 st) #

SemanticTraversal UExprPragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UExprPragma dom1 st -> f (UExprPragma dom2 st) #

SemanticTraversal UTupSecElem # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UTupSecElem dom1 st -> f (UTupSecElem dom2 st) #

SemanticTraversal UFieldUpdate # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UFieldUpdate dom1 st -> f (UFieldUpdate dom2 st) #

SemanticTraversal PhaseInvert # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> PhaseInvert dom1 st -> f (PhaseInvert dom2 st) #

SemanticTraversal PhaseNumber # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> PhaseNumber dom1 st -> f (PhaseNumber dom2 st) #

SemanticTraversal UPhaseControl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UPhaseControl dom1 st -> f (UPhaseControl dom2 st) #

SemanticTraversal UConlikeAnnot # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UConlikeAnnot dom1 st -> f (UConlikeAnnot dom2 st) #

SemanticTraversal UInlinePragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UInlinePragma dom1 st -> f (UInlinePragma dom2 st) #

SemanticTraversal UGuardedRhs # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UGuardedRhs dom1 st -> f (UGuardedRhs dom2 st) #

SemanticTraversal URhs # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> URhs dom1 st -> f (URhs dom2 st) #

SemanticTraversal Precedence # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Precedence dom1 st -> f (Precedence dom2 st) #

SemanticTraversal Assoc # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Assoc dom1 st -> f (Assoc dom2 st) #

SemanticTraversal UFixitySignature # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UFixitySignature dom1 st -> f (UFixitySignature dom2 st) #

SemanticTraversal UTypeSignature # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UTypeSignature dom1 st -> f (UTypeSignature dom2 st) #

SemanticTraversal UMatchLhs # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UMatchLhs dom1 st -> f (UMatchLhs dom2 st) #

SemanticTraversal UMatch # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UMatch dom1 st -> f (UMatch dom2 st) #

SemanticTraversal UValueBind # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UValueBind dom1 st -> f (UValueBind dom2 st) #

SemanticTraversal LineNumber # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> LineNumber dom1 st -> f (LineNumber dom2 st) #

SemanticTraversal UMinimalFormula # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UMinimalFormula dom1 st -> f (UMinimalFormula dom2 st) #

SemanticTraversal UAnnotationSubject # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UAnnotationSubject dom1 st -> f (UAnnotationSubject dom2 st) #

SemanticTraversal URuleVar # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> URuleVar dom1 st -> f (URuleVar dom2 st) #

SemanticTraversal URule # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> URule dom1 st -> f (URule dom2 st) #

SemanticTraversal USpecializePragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> USpecializePragma dom1 st -> f (USpecializePragma dom2 st) #

SemanticTraversal UTopLevelPragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UTopLevelPragma dom1 st -> f (UTopLevelPragma dom2 st) #

SemanticTraversal URole # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> URole dom1 st -> f (URole dom2 st) #

SemanticTraversal USafety # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> USafety dom1 st -> f (USafety dom2 st) #

SemanticTraversal UCallConv # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UCallConv dom1 st -> f (UCallConv dom2 st) #

SemanticTraversal UPatSynWhere # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UPatSynWhere dom1 st -> f (UPatSynWhere dom2 st) #

SemanticTraversal UPatSynRhs # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UPatSynRhs dom1 st -> f (UPatSynRhs dom2 st) #

SemanticTraversal UPatSynLhs # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UPatSynLhs dom1 st -> f (UPatSynLhs dom2 st) #

SemanticTraversal UPatternSynonym # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UPatternSynonym dom1 st -> f (UPatternSynonym dom2 st) #

SemanticTraversal UPatternTypeSignature # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UPatternTypeSignature dom1 st -> f (UPatternTypeSignature dom2 st) #

SemanticTraversal UDeriveStrategy # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UDeriveStrategy dom1 st -> f (UDeriveStrategy dom2 st) #

SemanticTraversal UDeriving # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UDeriving dom1 st -> f (UDeriving dom2 st) #

SemanticTraversal UFieldDecl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UFieldDecl dom1 st -> f (UFieldDecl dom2 st) #

SemanticTraversal UConDecl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UConDecl dom1 st -> f (UConDecl dom2 st) #

SemanticTraversal UFunDep # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UFunDep dom1 st -> f (UFunDep dom2 st) #

SemanticTraversal UFunDeps # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UFunDeps dom1 st -> f (UFunDeps dom2 st) #

SemanticTraversal UGadtConType # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UGadtConType dom1 st -> f (UGadtConType dom2 st) #

SemanticTraversal UDataOrNewtypeKeyword # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UDataOrNewtypeKeyword dom1 st -> f (UDataOrNewtypeKeyword dom2 st) #

SemanticTraversal UGadtConDecl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UGadtConDecl dom1 st -> f (UGadtConDecl dom2 st) #

SemanticTraversal UTypeEqn # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UTypeEqn dom1 st -> f (UTypeEqn dom2 st) #

SemanticTraversal UInjectivityAnn # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UInjectivityAnn dom1 st -> f (UInjectivityAnn dom2 st) #

SemanticTraversal UTypeFamilySpec # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UTypeFamilySpec dom1 st -> f (UTypeFamilySpec dom2 st) #

SemanticTraversal UTypeFamily # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UTypeFamily dom1 st -> f (UTypeFamily dom2 st) #

SemanticTraversal UOverlapPragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UOverlapPragma dom1 st -> f (UOverlapPragma dom2 st) #

SemanticTraversal UInstBodyDecl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UInstBodyDecl dom1 st -> f (UInstBodyDecl dom2 st) #

SemanticTraversal UInstBody # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UInstBody dom1 st -> f (UInstBody dom2 st) #

SemanticTraversal UInstanceHead # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UInstanceHead dom1 st -> f (UInstanceHead dom2 st) #

SemanticTraversal UInstanceRule # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UInstanceRule dom1 st -> f (UInstanceRule dom2 st) #

SemanticTraversal UClassElement # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UClassElement dom1 st -> f (UClassElement dom2 st) #

SemanticTraversal UClassBody # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UClassBody dom1 st -> f (UClassBody dom2 st) #

SemanticTraversal UDeclHead # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UDeclHead dom1 st -> f (UDeclHead dom2 st) #

SemanticTraversal UDecl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UDecl dom1 st -> f (UDecl dom2 st) #

SemanticTraversal QQString # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> QQString dom1 st -> f (QQString dom2 st) #

SemanticTraversal TypeKeyword # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> TypeKeyword dom1 st -> f (TypeKeyword dom2 st) #

SemanticTraversal UModuleName # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UModuleName dom1 st -> f (UModuleName dom2 st) #

SemanticTraversal UImportRenaming # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UImportRenaming dom1 st -> f (UImportRenaming dom2 st) #

SemanticTraversal UTypeNamespace # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UTypeNamespace dom1 st -> f (UTypeNamespace dom2 st) #

SemanticTraversal UImportSafe # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UImportSafe dom1 st -> f (UImportSafe dom2 st) #

SemanticTraversal UImportSource # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UImportSource dom1 st -> f (UImportSource dom2 st) #

SemanticTraversal UImportQualified # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UImportQualified dom1 st -> f (UImportQualified dom2 st) #

SemanticTraversal UImportSpec # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UImportSpec dom1 st -> f (UImportSpec dom2 st) #

SemanticTraversal ULanguageExtension # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ULanguageExtension dom1 st -> f (ULanguageExtension dom2 st) #

SemanticTraversal UModulePragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UModulePragma dom1 st -> f (UModulePragma dom2 st) #

SemanticTraversal UFilePragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UFilePragma dom1 st -> f (UFilePragma dom2 st) #

SemanticTraversal USubSpec # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> USubSpec dom1 st -> f (USubSpec dom2 st) #

SemanticTraversal UImportModifier # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UImportModifier dom1 st -> f (UImportModifier dom2 st) #

SemanticTraversal UIESpec # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UIESpec dom1 st -> f (UIESpec dom2 st) #

SemanticTraversal UExportSpec # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UExportSpec dom1 st -> f (UExportSpec dom2 st) #

SemanticTraversal UExportSpecs # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UExportSpecs dom1 st -> f (UExportSpecs dom2 st) #

SemanticTraversal UModuleHead # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UModuleHead dom1 st -> f (UModuleHead dom2 st) #

(ApplySemaChange (SemaInfoClassify e), SemanticTraversal e) => SemanticTraversal (Ann e) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Ann e dom1 st -> f (Ann e dom2 st) #

(ApplySemaChange (SemaInfoClassify e), SemanticTraversal e) => SemanticTraversal (AnnListG e) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> AnnListG e dom1 st -> f (AnnListG e dom2 st) #

(ApplySemaChange (SemaInfoClassify e), SemanticTraversal e) => SemanticTraversal (AnnMaybeG e) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> AnnMaybeG e dom1 st -> f (AnnMaybeG e dom2 st) #

SemanticTraversal t => SemanticTraversal (UPromoted t) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UPromoted t dom1 st -> f (UPromoted t dom2 st) #

SemanticTraversal expr => SemanticTraversal (UStmt' expr) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UStmt' expr dom1 st -> f (UStmt' expr dom2 st) #

SemanticTraversal expr => SemanticTraversal (UGuardedCaseRhs' expr) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UGuardedCaseRhs' expr dom1 st -> f (UGuardedCaseRhs' expr dom2 st) #

SemanticTraversal expr => SemanticTraversal (UCaseRhs' expr) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UCaseRhs' expr dom1 st -> f (UCaseRhs' expr dom2 st) #

SemanticTraversal expr => SemanticTraversal (UAlt' expr) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SemanticTraversal

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UAlt' expr dom1 st -> f (UAlt' expr dom2 st) #

class SourceInfoTraversal a where #

A class for traversing source information in an AST

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> a dom st1 -> f (a dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> a dom st1 -> f (a dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> a dom st1 -> f (a dom st2) #

Instances
SourceInfoTraversal URhsGuard # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> URhsGuard dom st1 -> f (URhsGuard dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> URhsGuard dom st1 -> f (URhsGuard dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> URhsGuard dom st1 -> f (URhsGuard dom st2) #

SourceInfoTraversal ULocalBinds # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> ULocalBinds dom st1 -> f (ULocalBinds dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> ULocalBinds dom st1 -> f (ULocalBinds dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> ULocalBinds dom st1 -> f (ULocalBinds dom st2) #

SourceInfoTraversal ULocalBind # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> ULocalBind dom st1 -> f (ULocalBind dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> ULocalBind dom st1 -> f (ULocalBind dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> ULocalBind dom st1 -> f (ULocalBind dom st2) #

SourceInfoTraversal UUnboxedSumPlaceHolder # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UUnboxedSumPlaceHolder dom st1 -> f (UUnboxedSumPlaceHolder dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UUnboxedSumPlaceHolder dom st1 -> f (UUnboxedSumPlaceHolder dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UUnboxedSumPlaceHolder dom st1 -> f (UUnboxedSumPlaceHolder dom st2) #

SourceInfoTraversal UFieldWildcard # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFieldWildcard dom st1 -> f (UFieldWildcard dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFieldWildcard dom st1 -> f (UFieldWildcard dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UFieldWildcard dom st1 -> f (UFieldWildcard dom st2) #

SourceInfoTraversal UCmd # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UCmd dom st1 -> f (UCmd dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UCmd dom st1 -> f (UCmd dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UCmd dom st1 -> f (UCmd dom st2) #

SourceInfoTraversal UExpr # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UExpr dom st1 -> f (UExpr dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UExpr dom st1 -> f (UExpr dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UExpr dom st1 -> f (UExpr dom st2) #

SourceInfoTraversal ULiteral # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> ULiteral dom st1 -> f (ULiteral dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> ULiteral dom st1 -> f (ULiteral dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> ULiteral dom st1 -> f (ULiteral dom st2) #

SourceInfoTraversal UImportDecl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportDecl dom st1 -> f (UImportDecl dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportDecl dom st1 -> f (UImportDecl dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UImportDecl dom st1 -> f (UImportDecl dom st2) #

SourceInfoTraversal UModule # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UModule dom st1 -> f (UModule dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UModule dom st1 -> f (UModule dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UModule dom st1 -> f (UModule dom st2) #

SourceInfoTraversal UQualifiedName # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UQualifiedName dom st1 -> f (UQualifiedName dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UQualifiedName dom st1 -> f (UQualifiedName dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UQualifiedName dom st1 -> f (UQualifiedName dom st2) #

SourceInfoTraversal UBracket # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UBracket dom st1 -> f (UBracket dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UBracket dom st1 -> f (UBracket dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UBracket dom st1 -> f (UBracket dom st2) #

SourceInfoTraversal UQuasiQuote # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UQuasiQuote dom st1 -> f (UQuasiQuote dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UQuasiQuote dom st1 -> f (UQuasiQuote dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UQuasiQuote dom st1 -> f (UQuasiQuote dom st2) #

SourceInfoTraversal USplice # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> USplice dom st1 -> f (USplice dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> USplice dom st1 -> f (USplice dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> USplice dom st1 -> f (USplice dom st2) #

SourceInfoTraversal UType # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UType dom st1 -> f (UType dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UType dom st1 -> f (UType dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UType dom st1 -> f (UType dom st2) #

SourceInfoTraversal UStringNode # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UStringNode dom st1 -> f (UStringNode dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UStringNode dom st1 -> f (UStringNode dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UStringNode dom st1 -> f (UStringNode dom st2) #

SourceInfoTraversal UNamePart # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UNamePart dom st1 -> f (UNamePart dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UNamePart dom st1 -> f (UNamePart dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UNamePart dom st1 -> f (UNamePart dom st2) #

SourceInfoTraversal UName # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UName dom st1 -> f (UName dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UName dom st1 -> f (UName dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UName dom st1 -> f (UName dom st2) #

SourceInfoTraversal UOperator # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UOperator dom st1 -> f (UOperator dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UOperator dom st1 -> f (UOperator dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UOperator dom st1 -> f (UOperator dom st2) #

SourceInfoTraversal UKind # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UKind dom st1 -> f (UKind dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UKind dom st1 -> f (UKind dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UKind dom st1 -> f (UKind dom st2) #

SourceInfoTraversal UKindConstraint # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UKindConstraint dom st1 -> f (UKindConstraint dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UKindConstraint dom st1 -> f (UKindConstraint dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UKindConstraint dom st1 -> f (UKindConstraint dom st2) #

SourceInfoTraversal UAssertion # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UAssertion dom st1 -> f (UAssertion dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UAssertion dom st1 -> f (UAssertion dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UAssertion dom st1 -> f (UAssertion dom st2) #

SourceInfoTraversal UContext # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UContext dom st1 -> f (UContext dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UContext dom st1 -> f (UContext dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UContext dom st1 -> f (UContext dom st2) #

SourceInfoTraversal UTyVar # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTyVar dom st1 -> f (UTyVar dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTyVar dom st1 -> f (UTyVar dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UTyVar dom st1 -> f (UTyVar dom st2) #

SourceInfoTraversal UPatternField # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPatternField dom st1 -> f (UPatternField dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPatternField dom st1 -> f (UPatternField dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UPatternField dom st1 -> f (UPatternField dom st2) #

SourceInfoTraversal UPattern # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPattern dom st1 -> f (UPattern dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPattern dom st1 -> f (UPattern dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UPattern dom st1 -> f (UPattern dom st2) #

SourceInfoTraversal UDoKind # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UDoKind dom st1 -> f (UDoKind dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UDoKind dom st1 -> f (UDoKind dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UDoKind dom st1 -> f (UDoKind dom st2) #

SourceInfoTraversal UCompStmt # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UCompStmt dom st1 -> f (UCompStmt dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UCompStmt dom st1 -> f (UCompStmt dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UCompStmt dom st1 -> f (UCompStmt dom st2) #

SourceInfoTraversal UListCompBody # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UListCompBody dom st1 -> f (UListCompBody dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UListCompBody dom st1 -> f (UListCompBody dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UListCompBody dom st1 -> f (UListCompBody dom st2) #

SourceInfoTraversal UArrowAppl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UArrowAppl dom st1 -> f (UArrowAppl dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UArrowAppl dom st1 -> f (UArrowAppl dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UArrowAppl dom st1 -> f (UArrowAppl dom st2) #

SourceInfoTraversal Number # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> Number dom st1 -> f (Number dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> Number dom st1 -> f (Number dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> Number dom st1 -> f (Number dom st2) #

SourceInfoTraversal USourceRange # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> USourceRange dom st1 -> f (USourceRange dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> USourceRange dom st1 -> f (USourceRange dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> USourceRange dom st1 -> f (USourceRange dom st2) #

SourceInfoTraversal UExprPragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UExprPragma dom st1 -> f (UExprPragma dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UExprPragma dom st1 -> f (UExprPragma dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UExprPragma dom st1 -> f (UExprPragma dom st2) #

SourceInfoTraversal UTupSecElem # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTupSecElem dom st1 -> f (UTupSecElem dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTupSecElem dom st1 -> f (UTupSecElem dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UTupSecElem dom st1 -> f (UTupSecElem dom st2) #

SourceInfoTraversal UFieldUpdate # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFieldUpdate dom st1 -> f (UFieldUpdate dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFieldUpdate dom st1 -> f (UFieldUpdate dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UFieldUpdate dom st1 -> f (UFieldUpdate dom st2) #

SourceInfoTraversal PhaseInvert # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> PhaseInvert dom st1 -> f (PhaseInvert dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> PhaseInvert dom st1 -> f (PhaseInvert dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> PhaseInvert dom st1 -> f (PhaseInvert dom st2) #

SourceInfoTraversal PhaseNumber # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> PhaseNumber dom st1 -> f (PhaseNumber dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> PhaseNumber dom st1 -> f (PhaseNumber dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> PhaseNumber dom st1 -> f (PhaseNumber dom st2) #

SourceInfoTraversal UPhaseControl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPhaseControl dom st1 -> f (UPhaseControl dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPhaseControl dom st1 -> f (UPhaseControl dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UPhaseControl dom st1 -> f (UPhaseControl dom st2) #

SourceInfoTraversal UConlikeAnnot # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UConlikeAnnot dom st1 -> f (UConlikeAnnot dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UConlikeAnnot dom st1 -> f (UConlikeAnnot dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UConlikeAnnot dom st1 -> f (UConlikeAnnot dom st2) #

SourceInfoTraversal UInlinePragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UInlinePragma dom st1 -> f (UInlinePragma dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UInlinePragma dom st1 -> f (UInlinePragma dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UInlinePragma dom st1 -> f (UInlinePragma dom st2) #

SourceInfoTraversal UGuardedRhs # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UGuardedRhs dom st1 -> f (UGuardedRhs dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UGuardedRhs dom st1 -> f (UGuardedRhs dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UGuardedRhs dom st1 -> f (UGuardedRhs dom st2) #

SourceInfoTraversal URhs # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> URhs dom st1 -> f (URhs dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> URhs dom st1 -> f (URhs dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> URhs dom st1 -> f (URhs dom st2) #

SourceInfoTraversal Precedence # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> Precedence dom st1 -> f (Precedence dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> Precedence dom st1 -> f (Precedence dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> Precedence dom st1 -> f (Precedence dom st2) #

SourceInfoTraversal Assoc # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> Assoc dom st1 -> f (Assoc dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> Assoc dom st1 -> f (Assoc dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> Assoc dom st1 -> f (Assoc dom st2) #

SourceInfoTraversal UFixitySignature # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFixitySignature dom st1 -> f (UFixitySignature dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFixitySignature dom st1 -> f (UFixitySignature dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UFixitySignature dom st1 -> f (UFixitySignature dom st2) #

SourceInfoTraversal UTypeSignature # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTypeSignature dom st1 -> f (UTypeSignature dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTypeSignature dom st1 -> f (UTypeSignature dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UTypeSignature dom st1 -> f (UTypeSignature dom st2) #

SourceInfoTraversal UMatchLhs # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UMatchLhs dom st1 -> f (UMatchLhs dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UMatchLhs dom st1 -> f (UMatchLhs dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UMatchLhs dom st1 -> f (UMatchLhs dom st2) #

SourceInfoTraversal UMatch # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UMatch dom st1 -> f (UMatch dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UMatch dom st1 -> f (UMatch dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UMatch dom st1 -> f (UMatch dom st2) #

SourceInfoTraversal UValueBind # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UValueBind dom st1 -> f (UValueBind dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UValueBind dom st1 -> f (UValueBind dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UValueBind dom st1 -> f (UValueBind dom st2) #

SourceInfoTraversal LineNumber # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> LineNumber dom st1 -> f (LineNumber dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> LineNumber dom st1 -> f (LineNumber dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> LineNumber dom st1 -> f (LineNumber dom st2) #

SourceInfoTraversal UMinimalFormula # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UMinimalFormula dom st1 -> f (UMinimalFormula dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UMinimalFormula dom st1 -> f (UMinimalFormula dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UMinimalFormula dom st1 -> f (UMinimalFormula dom st2) #

SourceInfoTraversal UAnnotationSubject # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UAnnotationSubject dom st1 -> f (UAnnotationSubject dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UAnnotationSubject dom st1 -> f (UAnnotationSubject dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UAnnotationSubject dom st1 -> f (UAnnotationSubject dom st2) #

SourceInfoTraversal URuleVar # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> URuleVar dom st1 -> f (URuleVar dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> URuleVar dom st1 -> f (URuleVar dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> URuleVar dom st1 -> f (URuleVar dom st2) #

SourceInfoTraversal URule # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> URule dom st1 -> f (URule dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> URule dom st1 -> f (URule dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> URule dom st1 -> f (URule dom st2) #

SourceInfoTraversal USpecializePragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> USpecializePragma dom st1 -> f (USpecializePragma dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> USpecializePragma dom st1 -> f (USpecializePragma dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> USpecializePragma dom st1 -> f (USpecializePragma dom st2) #

SourceInfoTraversal UTopLevelPragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTopLevelPragma dom st1 -> f (UTopLevelPragma dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTopLevelPragma dom st1 -> f (UTopLevelPragma dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UTopLevelPragma dom st1 -> f (UTopLevelPragma dom st2) #

SourceInfoTraversal URole # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> URole dom st1 -> f (URole dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> URole dom st1 -> f (URole dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> URole dom st1 -> f (URole dom st2) #

SourceInfoTraversal USafety # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> USafety dom st1 -> f (USafety dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> USafety dom st1 -> f (USafety dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> USafety dom st1 -> f (USafety dom st2) #

SourceInfoTraversal UCallConv # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UCallConv dom st1 -> f (UCallConv dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UCallConv dom st1 -> f (UCallConv dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UCallConv dom st1 -> f (UCallConv dom st2) #

SourceInfoTraversal UPatSynWhere # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPatSynWhere dom st1 -> f (UPatSynWhere dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPatSynWhere dom st1 -> f (UPatSynWhere dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UPatSynWhere dom st1 -> f (UPatSynWhere dom st2) #

SourceInfoTraversal UPatSynRhs # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPatSynRhs dom st1 -> f (UPatSynRhs dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPatSynRhs dom st1 -> f (UPatSynRhs dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UPatSynRhs dom st1 -> f (UPatSynRhs dom st2) #

SourceInfoTraversal UPatSynLhs # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPatSynLhs dom st1 -> f (UPatSynLhs dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPatSynLhs dom st1 -> f (UPatSynLhs dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UPatSynLhs dom st1 -> f (UPatSynLhs dom st2) #

SourceInfoTraversal UPatternSynonym # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPatternSynonym dom st1 -> f (UPatternSynonym dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPatternSynonym dom st1 -> f (UPatternSynonym dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UPatternSynonym dom st1 -> f (UPatternSynonym dom st2) #

SourceInfoTraversal UPatternTypeSignature # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPatternTypeSignature dom st1 -> f (UPatternTypeSignature dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPatternTypeSignature dom st1 -> f (UPatternTypeSignature dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UPatternTypeSignature dom st1 -> f (UPatternTypeSignature dom st2) #

SourceInfoTraversal UDeriveStrategy # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UDeriveStrategy dom st1 -> f (UDeriveStrategy dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UDeriveStrategy dom st1 -> f (UDeriveStrategy dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UDeriveStrategy dom st1 -> f (UDeriveStrategy dom st2) #

SourceInfoTraversal UDeriving # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UDeriving dom st1 -> f (UDeriving dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UDeriving dom st1 -> f (UDeriving dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UDeriving dom st1 -> f (UDeriving dom st2) #

SourceInfoTraversal UFieldDecl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFieldDecl dom st1 -> f (UFieldDecl dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFieldDecl dom st1 -> f (UFieldDecl dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UFieldDecl dom st1 -> f (UFieldDecl dom st2) #

SourceInfoTraversal UConDecl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UConDecl dom st1 -> f (UConDecl dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UConDecl dom st1 -> f (UConDecl dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UConDecl dom st1 -> f (UConDecl dom st2) #

SourceInfoTraversal UFunDep # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFunDep dom st1 -> f (UFunDep dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFunDep dom st1 -> f (UFunDep dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UFunDep dom st1 -> f (UFunDep dom st2) #

SourceInfoTraversal UFunDeps # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFunDeps dom st1 -> f (UFunDeps dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFunDeps dom st1 -> f (UFunDeps dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UFunDeps dom st1 -> f (UFunDeps dom st2) #

SourceInfoTraversal UGadtConType # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UGadtConType dom st1 -> f (UGadtConType dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UGadtConType dom st1 -> f (UGadtConType dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UGadtConType dom st1 -> f (UGadtConType dom st2) #

SourceInfoTraversal UDataOrNewtypeKeyword # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UDataOrNewtypeKeyword dom st1 -> f (UDataOrNewtypeKeyword dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UDataOrNewtypeKeyword dom st1 -> f (UDataOrNewtypeKeyword dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UDataOrNewtypeKeyword dom st1 -> f (UDataOrNewtypeKeyword dom st2) #

SourceInfoTraversal UGadtConDecl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UGadtConDecl dom st1 -> f (UGadtConDecl dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UGadtConDecl dom st1 -> f (UGadtConDecl dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UGadtConDecl dom st1 -> f (UGadtConDecl dom st2) #

SourceInfoTraversal UTypeEqn # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTypeEqn dom st1 -> f (UTypeEqn dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTypeEqn dom st1 -> f (UTypeEqn dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UTypeEqn dom st1 -> f (UTypeEqn dom st2) #

SourceInfoTraversal UInjectivityAnn # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UInjectivityAnn dom st1 -> f (UInjectivityAnn dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UInjectivityAnn dom st1 -> f (UInjectivityAnn dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UInjectivityAnn dom st1 -> f (UInjectivityAnn dom st2) #

SourceInfoTraversal UTypeFamilySpec # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTypeFamilySpec dom st1 -> f (UTypeFamilySpec dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTypeFamilySpec dom st1 -> f (UTypeFamilySpec dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UTypeFamilySpec dom st1 -> f (UTypeFamilySpec dom st2) #

SourceInfoTraversal UTypeFamily # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTypeFamily dom st1 -> f (UTypeFamily dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTypeFamily dom st1 -> f (UTypeFamily dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UTypeFamily dom st1 -> f (UTypeFamily dom st2) #

SourceInfoTraversal UOverlapPragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UOverlapPragma dom st1 -> f (UOverlapPragma dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UOverlapPragma dom st1 -> f (UOverlapPragma dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UOverlapPragma dom st1 -> f (UOverlapPragma dom st2) #

SourceInfoTraversal UInstBodyDecl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UInstBodyDecl dom st1 -> f (UInstBodyDecl dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UInstBodyDecl dom st1 -> f (UInstBodyDecl dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UInstBodyDecl dom st1 -> f (UInstBodyDecl dom st2) #

SourceInfoTraversal UInstBody # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UInstBody dom st1 -> f (UInstBody dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UInstBody dom st1 -> f (UInstBody dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UInstBody dom st1 -> f (UInstBody dom st2) #

SourceInfoTraversal UInstanceHead # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UInstanceHead dom st1 -> f (UInstanceHead dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UInstanceHead dom st1 -> f (UInstanceHead dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UInstanceHead dom st1 -> f (UInstanceHead dom st2) #

SourceInfoTraversal UInstanceRule # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UInstanceRule dom st1 -> f (UInstanceRule dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UInstanceRule dom st1 -> f (UInstanceRule dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UInstanceRule dom st1 -> f (UInstanceRule dom st2) #

SourceInfoTraversal UClassElement # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UClassElement dom st1 -> f (UClassElement dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UClassElement dom st1 -> f (UClassElement dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UClassElement dom st1 -> f (UClassElement dom st2) #

SourceInfoTraversal UClassBody # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UClassBody dom st1 -> f (UClassBody dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UClassBody dom st1 -> f (UClassBody dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UClassBody dom st1 -> f (UClassBody dom st2) #

SourceInfoTraversal UDeclHead # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UDeclHead dom st1 -> f (UDeclHead dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UDeclHead dom st1 -> f (UDeclHead dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UDeclHead dom st1 -> f (UDeclHead dom st2) #

SourceInfoTraversal UDecl # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UDecl dom st1 -> f (UDecl dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UDecl dom st1 -> f (UDecl dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UDecl dom st1 -> f (UDecl dom st2) #

SourceInfoTraversal QQString # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> QQString dom st1 -> f (QQString dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> QQString dom st1 -> f (QQString dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> QQString dom st1 -> f (QQString dom st2) #

SourceInfoTraversal TypeKeyword # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> TypeKeyword dom st1 -> f (TypeKeyword dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> TypeKeyword dom st1 -> f (TypeKeyword dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> TypeKeyword dom st1 -> f (TypeKeyword dom st2) #

SourceInfoTraversal UModuleName # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UModuleName dom st1 -> f (UModuleName dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UModuleName dom st1 -> f (UModuleName dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UModuleName dom st1 -> f (UModuleName dom st2) #

SourceInfoTraversal UImportRenaming # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportRenaming dom st1 -> f (UImportRenaming dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportRenaming dom st1 -> f (UImportRenaming dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UImportRenaming dom st1 -> f (UImportRenaming dom st2) #

SourceInfoTraversal UTypeNamespace # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTypeNamespace dom st1 -> f (UTypeNamespace dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UTypeNamespace dom st1 -> f (UTypeNamespace dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UTypeNamespace dom st1 -> f (UTypeNamespace dom st2) #

SourceInfoTraversal UImportSafe # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportSafe dom st1 -> f (UImportSafe dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportSafe dom st1 -> f (UImportSafe dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UImportSafe dom st1 -> f (UImportSafe dom st2) #

SourceInfoTraversal UImportSource # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportSource dom st1 -> f (UImportSource dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportSource dom st1 -> f (UImportSource dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UImportSource dom st1 -> f (UImportSource dom st2) #

SourceInfoTraversal UImportQualified # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportQualified dom st1 -> f (UImportQualified dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportQualified dom st1 -> f (UImportQualified dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UImportQualified dom st1 -> f (UImportQualified dom st2) #

SourceInfoTraversal UImportSpec # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportSpec dom st1 -> f (UImportSpec dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportSpec dom st1 -> f (UImportSpec dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UImportSpec dom st1 -> f (UImportSpec dom st2) #

SourceInfoTraversal ULanguageExtension # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> ULanguageExtension dom st1 -> f (ULanguageExtension dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> ULanguageExtension dom st1 -> f (ULanguageExtension dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> ULanguageExtension dom st1 -> f (ULanguageExtension dom st2) #

SourceInfoTraversal UModulePragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UModulePragma dom st1 -> f (UModulePragma dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UModulePragma dom st1 -> f (UModulePragma dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UModulePragma dom st1 -> f (UModulePragma dom st2) #

SourceInfoTraversal UFilePragma # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFilePragma dom st1 -> f (UFilePragma dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UFilePragma dom st1 -> f (UFilePragma dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UFilePragma dom st1 -> f (UFilePragma dom st2) #

SourceInfoTraversal USubSpec # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> USubSpec dom st1 -> f (USubSpec dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> USubSpec dom st1 -> f (USubSpec dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> USubSpec dom st1 -> f (USubSpec dom st2) #

SourceInfoTraversal UImportModifier # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportModifier dom st1 -> f (UImportModifier dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UImportModifier dom st1 -> f (UImportModifier dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UImportModifier dom st1 -> f (UImportModifier dom st2) #

SourceInfoTraversal UIESpec # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UIESpec dom st1 -> f (UIESpec dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UIESpec dom st1 -> f (UIESpec dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UIESpec dom st1 -> f (UIESpec dom st2) #

SourceInfoTraversal UExportSpec # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UExportSpec dom st1 -> f (UExportSpec dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UExportSpec dom st1 -> f (UExportSpec dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UExportSpec dom st1 -> f (UExportSpec dom st2) #

SourceInfoTraversal UExportSpecs # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UExportSpecs dom st1 -> f (UExportSpecs dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UExportSpecs dom st1 -> f (UExportSpecs dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UExportSpecs dom st1 -> f (UExportSpecs dom st2) #

SourceInfoTraversal UModuleHead # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UModuleHead dom st1 -> f (UModuleHead dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UModuleHead dom st1 -> f (UModuleHead dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UModuleHead dom st1 -> f (UModuleHead dom st2) #

SourceInfoTraversal e => SourceInfoTraversal (Ann e) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> Ann e dom st1 -> f (Ann e dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> Ann e dom st1 -> f (Ann e dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> Ann e dom st1 -> f (Ann e dom st2) #

SourceInfoTraversal e => SourceInfoTraversal (AnnListG e) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> AnnListG e dom st1 -> f (AnnListG e dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> AnnListG e dom st1 -> f (AnnListG e dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> AnnListG e dom st1 -> f (AnnListG e dom st2) #

SourceInfoTraversal e => SourceInfoTraversal (AnnMaybeG e) # 
Instance details

Defined in Language.Haskell.Tools.AST.Ann

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> AnnMaybeG e dom st1 -> f (AnnMaybeG e dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> AnnMaybeG e dom st1 -> f (AnnMaybeG e dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> AnnMaybeG e dom st1 -> f (AnnMaybeG e dom st2) #

SourceInfoTraversal t => SourceInfoTraversal (UPromoted t) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPromoted t dom st1 -> f (UPromoted t dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UPromoted t dom st1 -> f (UPromoted t dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UPromoted t dom st1 -> f (UPromoted t dom st2) #

SourceInfoTraversal expr => SourceInfoTraversal (UStmt' expr) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UStmt' expr dom st1 -> f (UStmt' expr dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UStmt' expr dom st1 -> f (UStmt' expr dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UStmt' expr dom st1 -> f (UStmt' expr dom st2) #

SourceInfoTraversal expr => SourceInfoTraversal (UGuardedCaseRhs' expr) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UGuardedCaseRhs' expr dom st1 -> f (UGuardedCaseRhs' expr dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UGuardedCaseRhs' expr dom st1 -> f (UGuardedCaseRhs' expr dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UGuardedCaseRhs' expr dom st1 -> f (UGuardedCaseRhs' expr dom st2) #

SourceInfoTraversal expr => SourceInfoTraversal (UCaseRhs' expr) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UCaseRhs' expr dom st1 -> f (UCaseRhs' expr dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UCaseRhs' expr dom st1 -> f (UCaseRhs' expr dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UCaseRhs' expr dom st1 -> f (UCaseRhs' expr dom st2) #

SourceInfoTraversal expr => SourceInfoTraversal (UAlt' expr) # 
Instance details

Defined in Language.Haskell.Tools.AST.Instances.SourceInfoTraversal

Methods

sourceInfoTraverseUp :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UAlt' expr dom st1 -> f (UAlt' expr dom st2) #

sourceInfoTraverseDown :: Monad f => SourceInfoTrf f st1 st2 -> f () -> f () -> UAlt' expr dom st1 -> f (UAlt' expr dom st2) #

sourceInfoTraverse :: Monad f => SourceInfoTrf f st1 st2 -> UAlt' expr dom st1 -> f (UAlt' expr dom st2) #

data SourceInfoTrf f st1 st2 #

A transformation on the possible source informations

Constructors

SourceInfoTrf 

Fields