ghc-exactprint-1.10.0.0: ExactPrint for GHC

Safe Haskell | None
Language | Haskell2010

Language.Haskell.GHC.ExactPrint

Contents

- Types
- Parsing
- Transformation
- Printing
- Relativising

Description

`ghc-exactprint` is a library to manage manipulating Haskell source files. There are four components.

Synopsis

- data Comment
- parseModule :: LibDir -> FilePath -> IO (ParseResult ParsedSource)
- module Language.Haskell.GHC.ExactPrint.Transform
- class Typeable a => ExactPrint a where
  - getAnnotationEntry :: a -> Entry
  - setAnnotationAnchor :: a -> Anchor -> [TrailingAnn] -> EpAnnComments -> a
  - exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => a -> EP w m a
- exactPrint :: ExactPrint ast => ast -> String
- makeDeltaAst :: ExactPrint ast => ast -> ast

# Types

data Comment Source #

A Haskell comment. The `AnnKeywordId` is present if it has been converted from an `AnnKeywordId` because the annotation must be interleaved into the stream and does not have a well-defined position

#### Instances

Instances details

Outputable Comment Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.Types Methods ppr :: Comment -> SDoc Source #
Data Comment Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.Types

Methods

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

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

toConstr :: Comment -> Constr Source #

dataTypeOf :: Comment -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Comment Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.Types Methods showsPrec :: Int -> Comment -> ShowS Source # show :: Comment -> String Source # showList :: [Comment] -> ShowS Source #
Eq Comment Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.Types Methods (==) :: Comment -> Comment -> Bool Source # (/=) :: Comment -> Comment -> Bool Source #
Ord Comment Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.Types Methods compare :: Comment -> Comment -> Ordering Source # (<) :: Comment -> Comment -> Bool Source # (<=) :: Comment -> Comment -> Bool Source # (>) :: Comment -> Comment -> Bool Source # (>=) :: Comment -> Comment -> Bool Source # max :: Comment -> Comment -> Comment Source # min :: Comment -> Comment -> Comment Source #

# Parsing

parseModule :: LibDir -> FilePath -> IO (ParseResult ParsedSource) Source #

This entry point will also work out which language extensions are required and perform CPP processing if necessary.

    parseModule = parseModuleWithCpp defaultCppOptions

Note: `ParsedSource` is a synonym for `Located` (`HsModule` `GhcPs`)

# Transformation

module Language.Haskell.GHC.ExactPrint.Transform

# Printing

class Typeable a => ExactPrint a where Source #

An AST fragment with an annotation must be able to return the requirements for nesting another one, captured in an `Entry`, and to be able to use the rest of the exactprint machinery to print the element. In the analogy to Outputable, `exact` plays the role of `ppr`.

Methods

getAnnotationEntry :: a -> Entry Source #

setAnnotationAnchor :: a -> Anchor -> [TrailingAnn] -> EpAnnComments -> a Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => a -> EP w m a Source #

#### Instances

Instances details

ExactPrint FastString Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: FastString -> Entry Source # setAnnotationAnchor :: FastString -> Anchor -> [TrailingAnn] -> EpAnnComments -> FastString Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => FastString -> EP w m FastString Source #
ExactPrint NamespaceSpecifier Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: NamespaceSpecifier -> Entry Source # setAnnotationAnchor :: NamespaceSpecifier -> Anchor -> [TrailingAnn] -> EpAnnComments -> NamespaceSpecifier Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => NamespaceSpecifier -> EP w m NamespaceSpecifier Source #
ExactPrint HsDocString Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsDocString -> Entry Source # setAnnotationAnchor :: HsDocString -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsDocString Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsDocString -> EP w m HsDocString Source #
ExactPrint HsDocStringChunk Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsDocStringChunk -> Entry Source # setAnnotationAnchor :: HsDocStringChunk -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsDocStringChunk Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsDocStringChunk -> EP w m HsDocStringChunk Source #
ExactPrint CCallConv Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: CCallConv -> Entry Source # setAnnotationAnchor :: CCallConv -> Anchor -> [TrailingAnn] -> EpAnnComments -> CCallConv Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => CCallConv -> EP w m CCallConv Source #
ExactPrint CExportSpec Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: CExportSpec -> Entry Source # setAnnotationAnchor :: CExportSpec -> Anchor -> [TrailingAnn] -> EpAnnComments -> CExportSpec Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => CExportSpec -> EP w m CExportSpec Source #
ExactPrint Safety Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Safety -> Entry Source # setAnnotationAnchor :: Safety -> Anchor -> [TrailingAnn] -> EpAnnComments -> Safety Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Safety -> EP w m Safety Source #
ExactPrint StringLiteral Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: StringLiteral -> Entry Source # setAnnotationAnchor :: StringLiteral -> Anchor -> [TrailingAnn] -> EpAnnComments -> StringLiteral Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => StringLiteral -> EP w m StringLiteral Source #
ExactPrint InWarningCategory Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: InWarningCategory -> Entry Source # setAnnotationAnchor :: InWarningCategory -> Anchor -> [TrailingAnn] -> EpAnnComments -> InWarningCategory Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => InWarningCategory -> EP w m InWarningCategory Source #
ExactPrint Role Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Role -> Entry Source # setAnnotationAnchor :: Role -> Anchor -> [TrailingAnn] -> EpAnnComments -> Role Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Role -> EP w m Role Source #
ExactPrint ModuleName Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ModuleName -> Entry Source # setAnnotationAnchor :: ModuleName -> Anchor -> [TrailingAnn] -> EpAnnComments -> ModuleName Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ModuleName -> EP w m ModuleName Source #
ExactPrint HsIPName Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsIPName -> Entry Source # setAnnotationAnchor :: HsIPName -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsIPName Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsIPName -> EP w m HsIPName Source #
ExactPrint Void Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Void -> Entry Source # setAnnotationAnchor :: Void -> Anchor -> [TrailingAnn] -> EpAnnComments -> Void Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Void -> EP w m Void Source #
ExactPrint (BooleanFormula (LocatedN RdrName)) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: BooleanFormula (LocatedN RdrName) -> Entry Source #

setAnnotationAnchor :: BooleanFormula (LocatedN RdrName) -> Anchor -> [TrailingAnn] -> EpAnnComments -> BooleanFormula (LocatedN RdrName) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => BooleanFormula (LocatedN RdrName) -> EP w m (BooleanFormula (LocatedN RdrName)) Source #

ExactPrint a => ExactPrint (LocatedA a) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedA a -> Entry Source # setAnnotationAnchor :: LocatedA a -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedA a Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedA a -> EP w m (LocatedA a) Source #
ExactPrint a => ExactPrint (LocatedC a) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedC a -> Entry Source # setAnnotationAnchor :: LocatedC a -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedC a Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedC a -> EP w m (LocatedC a) Source #
ExactPrint a => ExactPrint (LocatedE a) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedE a -> Entry Source # setAnnotationAnchor :: LocatedE a -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedE a Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedE a -> EP w m (LocatedE a) Source #
ExactPrint (LocatedL (BooleanFormula (LocatedN RdrName))) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: LocatedL (BooleanFormula (LocatedN RdrName)) -> Entry Source #

setAnnotationAnchor :: LocatedL (BooleanFormula (LocatedN RdrName)) -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedL (BooleanFormula (LocatedN RdrName)) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedL (BooleanFormula (LocatedN RdrName)) -> EP w m (LocatedL (BooleanFormula (LocatedN RdrName))) Source #

ExactPrint (Match GhcPs (LocatedA body)) => ExactPrint (LocatedL [LocatedA (Match GhcPs (LocatedA body))]) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: LocatedL [LocatedA (Match GhcPs (LocatedA body))] -> Entry Source #

setAnnotationAnchor :: LocatedL [LocatedA (Match GhcPs (LocatedA body))] -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedL [LocatedA (Match GhcPs (LocatedA body))] Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedL [LocatedA (Match GhcPs (LocatedA body))] -> EP w m (LocatedL [LocatedA (Match GhcPs (LocatedA body))]) Source #

ExactPrint (LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsCmd GhcPs)))]) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsCmd GhcPs)))] -> Entry Source #

setAnnotationAnchor :: LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsCmd GhcPs)))] -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsCmd GhcPs)))] Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsCmd GhcPs)))] -> EP w m (LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsCmd GhcPs)))]) Source #

ExactPrint (LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsExpr GhcPs)))]) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsExpr GhcPs)))] -> Entry Source #

setAnnotationAnchor :: LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsExpr GhcPs)))] -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsExpr GhcPs)))] Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsExpr GhcPs)))] -> EP w m (LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsExpr GhcPs)))]) Source #

ExactPrint (LocatedL [LocatedA (IE GhcPs)]) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: LocatedL [LocatedA (IE GhcPs)] -> Entry Source #

setAnnotationAnchor :: LocatedL [LocatedA (IE GhcPs)] -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedL [LocatedA (IE GhcPs)] Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedL [LocatedA (IE GhcPs)] -> EP w m (LocatedL [LocatedA (IE GhcPs)]) Source #

ExactPrint (LocatedL [LocatedA (ConDeclField GhcPs)]) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: LocatedL [LocatedA (ConDeclField GhcPs)] -> Entry Source #

setAnnotationAnchor :: LocatedL [LocatedA (ConDeclField GhcPs)] -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedL [LocatedA (ConDeclField GhcPs)] Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedL [LocatedA (ConDeclField GhcPs)] -> EP w m (LocatedL [LocatedA (ConDeclField GhcPs)]) Source #

ExactPrint (LocatedN RdrName) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedN RdrName -> Entry Source # setAnnotationAnchor :: LocatedN RdrName -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedN RdrName Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedN RdrName -> EP w m (LocatedN RdrName) Source #
ExactPrint (LocatedP OverlapMode) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedP OverlapMode -> Entry Source # setAnnotationAnchor :: LocatedP OverlapMode -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedP OverlapMode Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedP OverlapMode -> EP w m (LocatedP OverlapMode) Source #
ExactPrint (LocatedP CType) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedP CType -> Entry Source # setAnnotationAnchor :: LocatedP CType -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedP CType Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedP CType -> EP w m (LocatedP CType) Source #
ExactPrint (LocatedP (WarningTxt GhcPs)) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: LocatedP (WarningTxt GhcPs) -> Entry Source #

setAnnotationAnchor :: LocatedP (WarningTxt GhcPs) -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedP (WarningTxt GhcPs) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedP (WarningTxt GhcPs) -> EP w m (LocatedP (WarningTxt GhcPs)) Source #

ExactPrint a => ExactPrint (Located a) Source # | Bare Located elements are simply stripped off without further processing.
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Located a -> Entry Source # setAnnotationAnchor :: Located a -> Anchor -> [TrailingAnn] -> EpAnnComments -> Located a Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Located a -> EP w m (Located a) Source #
ExactPrint (HsModule GhcPs) Source # | 'Located (HsModule GhcPs)' corresponds to `ParsedSource`
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsModule GhcPs -> Entry Source # setAnnotationAnchor :: HsModule GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsModule GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsModule GhcPs -> EP w m (HsModule GhcPs) Source #
ExactPrint (HsBind GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsBind GhcPs -> Entry Source # setAnnotationAnchor :: HsBind GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsBind GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsBind GhcPs -> EP w m (HsBind GhcPs) Source #
ExactPrint (HsIPBinds GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsIPBinds GhcPs -> Entry Source # setAnnotationAnchor :: HsIPBinds GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsIPBinds GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsIPBinds GhcPs -> EP w m (HsIPBinds GhcPs) Source #
ExactPrint (HsLocalBinds GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsLocalBinds GhcPs -> Entry Source # setAnnotationAnchor :: HsLocalBinds GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsLocalBinds GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsLocalBinds GhcPs -> EP w m (HsLocalBinds GhcPs) Source #
ExactPrint (HsMultAnn GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsMultAnn GhcPs -> Entry Source # setAnnotationAnchor :: HsMultAnn GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsMultAnn GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsMultAnn GhcPs -> EP w m (HsMultAnn GhcPs) Source #
ExactPrint (IPBind GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: IPBind GhcPs -> Entry Source # setAnnotationAnchor :: IPBind GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> IPBind GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => IPBind GhcPs -> EP w m (IPBind GhcPs) Source #
ExactPrint (RecordPatSynField GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: RecordPatSynField GhcPs -> Entry Source # setAnnotationAnchor :: RecordPatSynField GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> RecordPatSynField GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => RecordPatSynField GhcPs -> EP w m (RecordPatSynField GhcPs) Source #
ExactPrint (Sig GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Sig GhcPs -> Entry Source # setAnnotationAnchor :: Sig GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> Sig GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Sig GhcPs -> EP w m (Sig GhcPs) Source #
ExactPrint (AnnDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: AnnDecl GhcPs -> Entry Source # setAnnotationAnchor :: AnnDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> AnnDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => AnnDecl GhcPs -> EP w m (AnnDecl GhcPs) Source #
ExactPrint (ClsInstDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ClsInstDecl GhcPs -> Entry Source # setAnnotationAnchor :: ClsInstDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> ClsInstDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ClsInstDecl GhcPs -> EP w m (ClsInstDecl GhcPs) Source #
ExactPrint (ConDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ConDecl GhcPs -> Entry Source # setAnnotationAnchor :: ConDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> ConDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ConDecl GhcPs -> EP w m (ConDecl GhcPs) Source #
ExactPrint (DefaultDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: DefaultDecl GhcPs -> Entry Source # setAnnotationAnchor :: DefaultDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> DefaultDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => DefaultDecl GhcPs -> EP w m (DefaultDecl GhcPs) Source #
ExactPrint (DerivClauseTys GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: DerivClauseTys GhcPs -> Entry Source # setAnnotationAnchor :: DerivClauseTys GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> DerivClauseTys GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => DerivClauseTys GhcPs -> EP w m (DerivClauseTys GhcPs) Source #
ExactPrint (DerivDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: DerivDecl GhcPs -> Entry Source # setAnnotationAnchor :: DerivDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> DerivDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => DerivDecl GhcPs -> EP w m (DerivDecl GhcPs) Source #
ExactPrint (DerivStrategy GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: DerivStrategy GhcPs -> Entry Source # setAnnotationAnchor :: DerivStrategy GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> DerivStrategy GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => DerivStrategy GhcPs -> EP w m (DerivStrategy GhcPs) Source #
ExactPrint (DocDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: DocDecl GhcPs -> Entry Source # setAnnotationAnchor :: DocDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> DocDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => DocDecl GhcPs -> EP w m (DocDecl GhcPs) Source #
ExactPrint (FamilyDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: FamilyDecl GhcPs -> Entry Source # setAnnotationAnchor :: FamilyDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> FamilyDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => FamilyDecl GhcPs -> EP w m (FamilyDecl GhcPs) Source #
ExactPrint (ForeignDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ForeignDecl GhcPs -> Entry Source # setAnnotationAnchor :: ForeignDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> ForeignDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ForeignDecl GhcPs -> EP w m (ForeignDecl GhcPs) Source #
ExactPrint (ForeignExport GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ForeignExport GhcPs -> Entry Source # setAnnotationAnchor :: ForeignExport GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> ForeignExport GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ForeignExport GhcPs -> EP w m (ForeignExport GhcPs) Source #
ExactPrint (ForeignImport GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ForeignImport GhcPs -> Entry Source # setAnnotationAnchor :: ForeignImport GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> ForeignImport GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ForeignImport GhcPs -> EP w m (ForeignImport GhcPs) Source #
ExactPrint (FunDep GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: FunDep GhcPs -> Entry Source # setAnnotationAnchor :: FunDep GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> FunDep GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => FunDep GhcPs -> EP w m (FunDep GhcPs) Source #
ExactPrint (HsDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsDecl GhcPs -> Entry Source # setAnnotationAnchor :: HsDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsDecl GhcPs -> EP w m (HsDecl GhcPs) Source #
ExactPrint (HsDerivingClause GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsDerivingClause GhcPs -> Entry Source # setAnnotationAnchor :: HsDerivingClause GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsDerivingClause GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsDerivingClause GhcPs -> EP w m (HsDerivingClause GhcPs) Source #
ExactPrint (InjectivityAnn GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: InjectivityAnn GhcPs -> Entry Source # setAnnotationAnchor :: InjectivityAnn GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> InjectivityAnn GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => InjectivityAnn GhcPs -> EP w m (InjectivityAnn GhcPs) Source #
ExactPrint (InstDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: InstDecl GhcPs -> Entry Source # setAnnotationAnchor :: InstDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> InstDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => InstDecl GhcPs -> EP w m (InstDecl GhcPs) Source #
ExactPrint (RoleAnnotDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: RoleAnnotDecl GhcPs -> Entry Source # setAnnotationAnchor :: RoleAnnotDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> RoleAnnotDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => RoleAnnotDecl GhcPs -> EP w m (RoleAnnotDecl GhcPs) Source #
ExactPrint (RuleBndr GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: RuleBndr GhcPs -> Entry Source # setAnnotationAnchor :: RuleBndr GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> RuleBndr GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => RuleBndr GhcPs -> EP w m (RuleBndr GhcPs) Source #
ExactPrint (RuleDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: RuleDecl GhcPs -> Entry Source # setAnnotationAnchor :: RuleDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> RuleDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => RuleDecl GhcPs -> EP w m (RuleDecl GhcPs) Source #
ExactPrint (RuleDecls GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: RuleDecls GhcPs -> Entry Source # setAnnotationAnchor :: RuleDecls GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> RuleDecls GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => RuleDecls GhcPs -> EP w m (RuleDecls GhcPs) Source #
ExactPrint (SpliceDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: SpliceDecl GhcPs -> Entry Source # setAnnotationAnchor :: SpliceDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> SpliceDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => SpliceDecl GhcPs -> EP w m (SpliceDecl GhcPs) Source #
ExactPrint (StandaloneKindSig GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: StandaloneKindSig GhcPs -> Entry Source # setAnnotationAnchor :: StandaloneKindSig GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> StandaloneKindSig GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => StandaloneKindSig GhcPs -> EP w m (StandaloneKindSig GhcPs) Source #
ExactPrint (TyClDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: TyClDecl GhcPs -> Entry Source # setAnnotationAnchor :: TyClDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> TyClDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => TyClDecl GhcPs -> EP w m (TyClDecl GhcPs) Source #
ExactPrint (TyFamInstDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: TyFamInstDecl GhcPs -> Entry Source # setAnnotationAnchor :: TyFamInstDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> TyFamInstDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => TyFamInstDecl GhcPs -> EP w m (TyFamInstDecl GhcPs) Source #
ExactPrint (WarnDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: WarnDecl GhcPs -> Entry Source # setAnnotationAnchor :: WarnDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> WarnDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => WarnDecl GhcPs -> EP w m (WarnDecl GhcPs) Source #
ExactPrint (WarnDecls GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: WarnDecls GhcPs -> Entry Source # setAnnotationAnchor :: WarnDecls GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> WarnDecls GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => WarnDecls GhcPs -> EP w m (WarnDecls GhcPs) Source #
ExactPrint (DotFieldOcc GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: DotFieldOcc GhcPs -> Entry Source # setAnnotationAnchor :: DotFieldOcc GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> DotFieldOcc GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => DotFieldOcc GhcPs -> EP w m (DotFieldOcc GhcPs) Source #
ExactPrint (FieldLabelStrings GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: FieldLabelStrings GhcPs -> Entry Source # setAnnotationAnchor :: FieldLabelStrings GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> FieldLabelStrings GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => FieldLabelStrings GhcPs -> EP w m (FieldLabelStrings GhcPs) Source #
ExactPrint (HsCmd GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsCmd GhcPs -> Entry Source # setAnnotationAnchor :: HsCmd GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsCmd GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsCmd GhcPs -> EP w m (HsCmd GhcPs) Source #
ExactPrint (HsCmdTop GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsCmdTop GhcPs -> Entry Source # setAnnotationAnchor :: HsCmdTop GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsCmdTop GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsCmdTop GhcPs -> EP w m (HsCmdTop GhcPs) Source #
ExactPrint (HsExpr GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsExpr GhcPs -> Entry Source # setAnnotationAnchor :: HsExpr GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsExpr GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsExpr GhcPs -> EP w m (HsExpr GhcPs) Source #
ExactPrint (HsPragE GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsPragE GhcPs -> Entry Source # setAnnotationAnchor :: HsPragE GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsPragE GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsPragE GhcPs -> EP w m (HsPragE GhcPs) Source #
ExactPrint (HsTupArg GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsTupArg GhcPs -> Entry Source # setAnnotationAnchor :: HsTupArg GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsTupArg GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsTupArg GhcPs -> EP w m (HsTupArg GhcPs) Source #
ExactPrint (HsUntypedSplice GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsUntypedSplice GhcPs -> Entry Source # setAnnotationAnchor :: HsUntypedSplice GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsUntypedSplice GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsUntypedSplice GhcPs -> EP w m (HsUntypedSplice GhcPs) Source #
ExactPrint (LHsRecUpdFields GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LHsRecUpdFields GhcPs -> Entry Source # setAnnotationAnchor :: LHsRecUpdFields GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> LHsRecUpdFields GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LHsRecUpdFields GhcPs -> EP w m (LHsRecUpdFields GhcPs) Source #
ExactPrint (IE GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: IE GhcPs -> Entry Source # setAnnotationAnchor :: IE GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> IE GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => IE GhcPs -> EP w m (IE GhcPs) Source #
ExactPrint (IEWrappedName GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: IEWrappedName GhcPs -> Entry Source # setAnnotationAnchor :: IEWrappedName GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> IEWrappedName GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => IEWrappedName GhcPs -> EP w m (IEWrappedName GhcPs) Source #
ExactPrint (ImportDecl GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ImportDecl GhcPs -> Entry Source # setAnnotationAnchor :: ImportDecl GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> ImportDecl GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ImportDecl GhcPs -> EP w m (ImportDecl GhcPs) Source #
ExactPrint (HsOverLit GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsOverLit GhcPs -> Entry Source # setAnnotationAnchor :: HsOverLit GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsOverLit GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsOverLit GhcPs -> EP w m (HsOverLit GhcPs) Source #
ExactPrint (HsConPatTyArg GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsConPatTyArg GhcPs -> Entry Source # setAnnotationAnchor :: HsConPatTyArg GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsConPatTyArg GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsConPatTyArg GhcPs -> EP w m (HsConPatTyArg GhcPs) Source #
ExactPrint (Pat GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Pat GhcPs -> Entry Source # setAnnotationAnchor :: Pat GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> Pat GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Pat GhcPs -> EP w m (Pat GhcPs) Source #
ExactPrint (AmbiguousFieldOcc GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: AmbiguousFieldOcc GhcPs -> Entry Source # setAnnotationAnchor :: AmbiguousFieldOcc GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> AmbiguousFieldOcc GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => AmbiguousFieldOcc GhcPs -> EP w m (AmbiguousFieldOcc GhcPs) Source #
ExactPrint (ConDeclField GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ConDeclField GhcPs -> Entry Source # setAnnotationAnchor :: ConDeclField GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> ConDeclField GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ConDeclField GhcPs -> EP w m (ConDeclField GhcPs) Source #
ExactPrint (FieldOcc GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: FieldOcc GhcPs -> Entry Source # setAnnotationAnchor :: FieldOcc GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> FieldOcc GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => FieldOcc GhcPs -> EP w m (FieldOcc GhcPs) Source #
ExactPrint (HsForAllTelescope GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsForAllTelescope GhcPs -> Entry Source # setAnnotationAnchor :: HsForAllTelescope GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsForAllTelescope GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsForAllTelescope GhcPs -> EP w m (HsForAllTelescope GhcPs) Source #
ExactPrint (HsPatSigType GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsPatSigType GhcPs -> Entry Source # setAnnotationAnchor :: HsPatSigType GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsPatSigType GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsPatSigType GhcPs -> EP w m (HsPatSigType GhcPs) Source #
ExactPrint (HsSigType GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsSigType GhcPs -> Entry Source # setAnnotationAnchor :: HsSigType GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsSigType GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsSigType GhcPs -> EP w m (HsSigType GhcPs) Source #
ExactPrint (HsTyPat GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsTyPat GhcPs -> Entry Source # setAnnotationAnchor :: HsTyPat GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsTyPat GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsTyPat GhcPs -> EP w m (HsTyPat GhcPs) Source #
ExactPrint (HsType GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsType GhcPs -> Entry Source # setAnnotationAnchor :: HsType GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsType GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsType GhcPs -> EP w m (HsType GhcPs) Source #
ExactPrint a => ExactPrint (Maybe a) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Maybe a -> Entry Source # setAnnotationAnchor :: Maybe a -> Anchor -> [TrailingAnn] -> EpAnnComments -> Maybe a Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Maybe a -> EP w m (Maybe a) Source #
ExactPrint a => ExactPrint [a] Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: [a] -> Entry Source # setAnnotationAnchor :: [a] -> Anchor -> [TrailingAnn] -> EpAnnComments -> [a] Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => [a] -> EP w m [a] Source #
ExactPrint a => ExactPrint (WithHsDocIdentifiers a GhcPs) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: WithHsDocIdentifiers a GhcPs -> Entry Source #

setAnnotationAnchor :: WithHsDocIdentifiers a GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> WithHsDocIdentifiers a GhcPs Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => WithHsDocIdentifiers a GhcPs -> EP w m (WithHsDocIdentifiers a GhcPs) Source #

ExactPrint a => ExactPrint (LocatedAn NoEpAnns a) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedAn NoEpAnns a -> Entry Source # setAnnotationAnchor :: LocatedAn NoEpAnns a -> Anchor -> [TrailingAnn] -> EpAnnComments -> LocatedAn NoEpAnns a Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedAn NoEpAnns a -> EP w m (LocatedAn NoEpAnns a) Source #
ExactPrint (HsValBindsLR GhcPs GhcPs) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: HsValBindsLR GhcPs GhcPs -> Entry Source #

setAnnotationAnchor :: HsValBindsLR GhcPs GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsValBindsLR GhcPs GhcPs Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsValBindsLR GhcPs GhcPs -> EP w m (HsValBindsLR GhcPs GhcPs) Source #

ExactPrint (PatSynBind GhcPs GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: PatSynBind GhcPs GhcPs -> Entry Source # setAnnotationAnchor :: PatSynBind GhcPs GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> PatSynBind GhcPs GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => PatSynBind GhcPs GhcPs -> EP w m (PatSynBind GhcPs GhcPs) Source #
ExactPrint body => ExactPrint (FamEqn GhcPs body) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: FamEqn GhcPs body -> Entry Source # setAnnotationAnchor :: FamEqn GhcPs body -> Anchor -> [TrailingAnn] -> EpAnnComments -> FamEqn GhcPs body Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => FamEqn GhcPs body -> EP w m (FamEqn GhcPs body) Source #
ExactPrint (GRHS GhcPs (LocatedA (HsCmd GhcPs))) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: GRHS GhcPs (LocatedA (HsCmd GhcPs)) -> Entry Source #

setAnnotationAnchor :: GRHS GhcPs (LocatedA (HsCmd GhcPs)) -> Anchor -> [TrailingAnn] -> EpAnnComments -> GRHS GhcPs (LocatedA (HsCmd GhcPs)) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => GRHS GhcPs (LocatedA (HsCmd GhcPs)) -> EP w m (GRHS GhcPs (LocatedA (HsCmd GhcPs))) Source #

ExactPrint (GRHS GhcPs (LocatedA (HsExpr GhcPs))) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: GRHS GhcPs (LocatedA (HsExpr GhcPs)) -> Entry Source #

setAnnotationAnchor :: GRHS GhcPs (LocatedA (HsExpr GhcPs)) -> Anchor -> [TrailingAnn] -> EpAnnComments -> GRHS GhcPs (LocatedA (HsExpr GhcPs)) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => GRHS GhcPs (LocatedA (HsExpr GhcPs)) -> EP w m (GRHS GhcPs (LocatedA (HsExpr GhcPs))) Source #

ExactPrint (GRHSs GhcPs (LocatedA (HsCmd GhcPs))) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: GRHSs GhcPs (LocatedA (HsCmd GhcPs)) -> Entry Source #

setAnnotationAnchor :: GRHSs GhcPs (LocatedA (HsCmd GhcPs)) -> Anchor -> [TrailingAnn] -> EpAnnComments -> GRHSs GhcPs (LocatedA (HsCmd GhcPs)) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => GRHSs GhcPs (LocatedA (HsCmd GhcPs)) -> EP w m (GRHSs GhcPs (LocatedA (HsCmd GhcPs))) Source #

ExactPrint (GRHSs GhcPs (LocatedA (HsExpr GhcPs))) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: GRHSs GhcPs (LocatedA (HsExpr GhcPs)) -> Entry Source #

setAnnotationAnchor :: GRHSs GhcPs (LocatedA (HsExpr GhcPs)) -> Anchor -> [TrailingAnn] -> EpAnnComments -> GRHSs GhcPs (LocatedA (HsExpr GhcPs)) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => GRHSs GhcPs (LocatedA (HsExpr GhcPs)) -> EP w m (GRHSs GhcPs (LocatedA (HsExpr GhcPs))) Source #

ExactPrint (Match GhcPs (LocatedA (HsCmd GhcPs))) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: Match GhcPs (LocatedA (HsCmd GhcPs)) -> Entry Source #

setAnnotationAnchor :: Match GhcPs (LocatedA (HsCmd GhcPs)) -> Anchor -> [TrailingAnn] -> EpAnnComments -> Match GhcPs (LocatedA (HsCmd GhcPs)) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Match GhcPs (LocatedA (HsCmd GhcPs)) -> EP w m (Match GhcPs (LocatedA (HsCmd GhcPs))) Source #

ExactPrint (Match GhcPs (LocatedA (HsExpr GhcPs))) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: Match GhcPs (LocatedA (HsExpr GhcPs)) -> Entry Source #

setAnnotationAnchor :: Match GhcPs (LocatedA (HsExpr GhcPs)) -> Anchor -> [TrailingAnn] -> EpAnnComments -> Match GhcPs (LocatedA (HsExpr GhcPs)) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Match GhcPs (LocatedA (HsExpr GhcPs)) -> EP w m (Match GhcPs (LocatedA (HsExpr GhcPs))) Source #

ExactPrint (MatchGroup GhcPs (LocatedA (HsCmd GhcPs))) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: MatchGroup GhcPs (LocatedA (HsCmd GhcPs)) -> Entry Source #

setAnnotationAnchor :: MatchGroup GhcPs (LocatedA (HsCmd GhcPs)) -> Anchor -> [TrailingAnn] -> EpAnnComments -> MatchGroup GhcPs (LocatedA (HsCmd GhcPs)) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => MatchGroup GhcPs (LocatedA (HsCmd GhcPs)) -> EP w m (MatchGroup GhcPs (LocatedA (HsCmd GhcPs))) Source #

ExactPrint (MatchGroup GhcPs (LocatedA (HsExpr GhcPs))) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: MatchGroup GhcPs (LocatedA (HsExpr GhcPs)) -> Entry Source #

setAnnotationAnchor :: MatchGroup GhcPs (LocatedA (HsExpr GhcPs)) -> Anchor -> [TrailingAnn] -> EpAnnComments -> MatchGroup GhcPs (LocatedA (HsExpr GhcPs)) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => MatchGroup GhcPs (LocatedA (HsExpr GhcPs)) -> EP w m (MatchGroup GhcPs (LocatedA (HsExpr GhcPs))) Source #

ExactPrint (ParStmtBlock GhcPs GhcPs) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: ParStmtBlock GhcPs GhcPs -> Entry Source #

setAnnotationAnchor :: ParStmtBlock GhcPs GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> ParStmtBlock GhcPs GhcPs Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ParStmtBlock GhcPs GhcPs -> EP w m (ParStmtBlock GhcPs GhcPs) Source #

ExactPrint (LocatedA body) => ExactPrint (HsFieldBind (LocatedA (AmbiguousFieldOcc GhcPs)) (LocatedA body)) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: HsFieldBind (LocatedA (AmbiguousFieldOcc GhcPs)) (LocatedA body) -> Entry Source #

setAnnotationAnchor :: HsFieldBind (LocatedA (AmbiguousFieldOcc GhcPs)) (LocatedA body) -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsFieldBind (LocatedA (AmbiguousFieldOcc GhcPs)) (LocatedA body) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsFieldBind (LocatedA (AmbiguousFieldOcc GhcPs)) (LocatedA body) -> EP w m (HsFieldBind (LocatedA (AmbiguousFieldOcc GhcPs)) (LocatedA body)) Source #

ExactPrint body => ExactPrint (HsFieldBind (LocatedA (FieldOcc GhcPs)) body) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: HsFieldBind (LocatedA (FieldOcc GhcPs)) body -> Entry Source #

setAnnotationAnchor :: HsFieldBind (LocatedA (FieldOcc GhcPs)) body -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsFieldBind (LocatedA (FieldOcc GhcPs)) body Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsFieldBind (LocatedA (FieldOcc GhcPs)) body -> EP w m (HsFieldBind (LocatedA (FieldOcc GhcPs)) body) Source #

ExactPrint body => ExactPrint (HsFieldBind (LocatedAn NoEpAnns (FieldLabelStrings GhcPs)) body) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: HsFieldBind (LocatedAn NoEpAnns (FieldLabelStrings GhcPs)) body -> Entry Source #

setAnnotationAnchor :: HsFieldBind (LocatedAn NoEpAnns (FieldLabelStrings GhcPs)) body -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsFieldBind (LocatedAn NoEpAnns (FieldLabelStrings GhcPs)) body Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsFieldBind (LocatedAn NoEpAnns (FieldLabelStrings GhcPs)) body -> EP w m (HsFieldBind (LocatedAn NoEpAnns (FieldLabelStrings GhcPs)) body) Source #

ExactPrint body => ExactPrint (HsRecFields GhcPs body) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsRecFields GhcPs body -> Entry Source # setAnnotationAnchor :: HsRecFields GhcPs body -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsRecFields GhcPs body Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsRecFields GhcPs body -> EP w m (HsRecFields GhcPs body) Source #
ExactPrintTVFlag flag => ExactPrint (HsOuterTyVarBndrs flag GhcPs) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: HsOuterTyVarBndrs flag GhcPs -> Entry Source #

setAnnotationAnchor :: HsOuterTyVarBndrs flag GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsOuterTyVarBndrs flag GhcPs Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsOuterTyVarBndrs flag GhcPs -> EP w m (HsOuterTyVarBndrs flag GhcPs) Source #

ExactPrint a => ExactPrint (HsScaled GhcPs a) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsScaled GhcPs a -> Entry Source # setAnnotationAnchor :: HsScaled GhcPs a -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsScaled GhcPs a Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsScaled GhcPs a -> EP w m (HsScaled GhcPs a) Source #
ExactPrintTVFlag flag => ExactPrint (HsTyVarBndr flag GhcPs) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsTyVarBndr flag GhcPs -> Entry Source # setAnnotationAnchor :: HsTyVarBndr flag GhcPs -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsTyVarBndr flag GhcPs Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsTyVarBndr flag GhcPs -> EP w m (HsTyVarBndr flag GhcPs) Source #
ExactPrint body => ExactPrint (HsWildCardBndrs GhcPs body) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: HsWildCardBndrs GhcPs body -> Entry Source #

setAnnotationAnchor :: HsWildCardBndrs GhcPs body -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsWildCardBndrs GhcPs body Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsWildCardBndrs GhcPs body -> EP w m (HsWildCardBndrs GhcPs body) Source #

ExactPrint (SourceText, RuleName) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: (SourceText, RuleName) -> Entry Source # setAnnotationAnchor :: (SourceText, RuleName) -> Anchor -> [TrailingAnn] -> EpAnnComments -> (SourceText, RuleName) Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => (SourceText, RuleName) -> EP w m (SourceText, RuleName) Source #
ExactPrint (SourceText, WarningCategory) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: (SourceText, WarningCategory) -> Entry Source #

setAnnotationAnchor :: (SourceText, WarningCategory) -> Anchor -> [TrailingAnn] -> EpAnnComments -> (SourceText, WarningCategory) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => (SourceText, WarningCategory) -> EP w m (SourceText, WarningCategory) Source #

(ExactPrint (LocatedA (body GhcPs)), Anno (StmtLR GhcPs GhcPs (LocatedA (body GhcPs))) ~ SrcSpanAnnA, Anno [GenLocated SrcSpanAnnA (StmtLR GhcPs GhcPs (LocatedA (body GhcPs)))] ~ SrcSpanAnnL, ExactPrint (LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (body GhcPs)))])) => ExactPrint (StmtLR GhcPs GhcPs (LocatedA (body GhcPs))) Source # |

Instance details

Defined in Language.Haskell.GHC.ExactPrint.ExactPrint

Methods

getAnnotationEntry :: StmtLR GhcPs GhcPs (LocatedA (body GhcPs)) -> Entry Source #

setAnnotationAnchor :: StmtLR GhcPs GhcPs (LocatedA (body GhcPs)) -> Anchor -> [TrailingAnn] -> EpAnnComments -> StmtLR GhcPs GhcPs (LocatedA (body GhcPs)) Source #

exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => StmtLR GhcPs GhcPs (LocatedA (body GhcPs)) -> EP w m (StmtLR GhcPs GhcPs (LocatedA (body GhcPs))) Source #

(ExactPrint tm, ExactPrint ty, Outputable tm, Outputable ty) => ExactPrint (HsArg GhcPs tm ty) Source # |
Instance details Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsArg GhcPs tm ty -> Entry Source # setAnnotationAnchor :: HsArg GhcPs tm ty -> Anchor -> [TrailingAnn] -> EpAnnComments -> HsArg GhcPs tm ty Source # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsArg GhcPs tm ty -> EP w m (HsArg GhcPs tm ty) Source #

exactPrint :: ExactPrint ast => ast -> String Source #

# Relativising

makeDeltaAst :: ExactPrint ast => ast -> ast Source #

Transform concrete annotations into relative annotations. This should be unnecessary from GHC 9.10