| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
ReWire.HSE.Annotate
Documentation
annotate :: Module SrcSpanInfo -> Module Annote Source #
Replace every haskell-src-exts source span in a parsed module with the compiler's own annotation, recording each node's origin span.
The annotation carried by every IR node: its provenance plus any human-readable context breadcrumbs accumulated as it travels through the passes.
Instances
| NFData Annote | |
Defined in ReWire.Annotation | |
| Data Annote | Opaque to SYB: |
Defined in ReWire.Annotation Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Annote -> c Annote # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Annote # toConstr :: Annote -> Constr # dataTypeOf :: Annote -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Annote) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Annote) # gmapT :: (forall b. Data b => b -> b) -> Annote -> Annote # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Annote -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Annote -> r # gmapQ :: (forall d. Data d => d -> u) -> Annote -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Annote -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Annote -> m Annote # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Annote -> m Annote # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Annote -> m Annote # | |
| Show Annote | |
| Eq Annote | |
| Ord Annote | Annotations are metadata about a node, not part of its meaning. Equality, ordering, and hashing are therefore intentionally blind to them: two terms that differ only in source location must still compare equal, or type comparison and term deduplication (which run over annotated IR) would wrongly distinguish them. |
| Hashable Annote | |
Defined in ReWire.Annotation | |
| SrcInfo Annote | |
Defined in ReWire.HSE.SrcLoc Methods toSrcInfo :: SrcLoc -> [SrcSpan] -> SrcLoc -> Annote fromSrcInfo :: SrcSpanInfo -> Annote getPointLoc :: Annote -> SrcLoc startColumn :: Annote -> Int | |
| Annotation Annote | |
Defined in ReWire.Annotation | |
| TextShow Annote | |
Defined in ReWire.Annotation | |
| QNamish (Name Annote) Source # | |
Defined in ReWire.HSE.Rename | |
| QNamish (QName Annote) Source # | |
Defined in ReWire.HSE.Rename | |