haskell-tools-ast-trf-0.1.2.0: Conversions on Haskell-Tools AST to prepare for refactorings

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Tools.AnnTrf.SourceTemplate

Description

The final version of the source annotation. Each node contains its original textual format, with the places of the children specified by placeholders.

Synopsis

Documentation

data SourceTemplateElem Source #

Constructors

TextElem String

Source text belonging to the current node

ChildElem

Placeholder for the next children of the node

OptionalChildElem 

Fields

ChildListElem 

Fields

Instances

Eq SourceTemplateElem Source # 
Data SourceTemplateElem Source # 

Methods

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

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

toConstr :: SourceTemplateElem -> Constr #

dataTypeOf :: SourceTemplateElem -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord SourceTemplateElem Source # 
Show SourceTemplateElem Source # 

data SourceTemplate Source #

A pattern that 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.

Instances

Data SourceTemplate Source # 

Methods

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

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

toConstr :: SourceTemplate -> Constr #

dataTypeOf :: SourceTemplate -> DataType #

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

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

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

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

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

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

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

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

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

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

Show SourceTemplate Source # 
HasRange (NodeInfo sema SourceTemplate) Source # 

Methods

getRange :: NodeInfo sema SourceTemplate -> SrcSpan