Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Language.Haskell.GHC.ExactPrint.ExactPrint
Contents
Synopsis
- class Typeable a => ExactPrint a where
- getAnnotationEntry :: a -> Entry
- setAnnotationAnchor :: a -> Anchor -> EpAnnComments -> a
- exact :: (Monad m, Monoid w) => a -> EP w m a
- exactPrint :: ExactPrint ast => ast -> String
- exactPrintWithOptions :: (ExactPrint ast, Monoid b, Monad m) => EPOptions m b -> ast -> m (ast, b)
- makeDeltaAst :: ExactPrint ast => ast -> ast
- data EPOptions m a
- stringOptions :: EPOptions Identity String
- epOptions :: (forall ast. Data ast => Located ast -> a -> m a) -> (String -> m a) -> (String -> m a) -> Rigidity -> Bool -> EPOptions m a
- deltaOptions :: EPOptions Identity ()
- showAst :: Data a => a -> String
Documentation
class Typeable a => ExactPrint a where #
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
.
Instances
ExactPrint Void # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Void -> Entry # setAnnotationAnchor :: Void -> Anchor -> EpAnnComments -> Void # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Void -> EP w m Void # | |
ExactPrint FastString # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: FastString -> Entry # setAnnotationAnchor :: FastString -> Anchor -> EpAnnComments -> FastString # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => FastString -> EP w m FastString # | |
ExactPrint HsDocString # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsDocString -> Entry # setAnnotationAnchor :: HsDocString -> Anchor -> EpAnnComments -> HsDocString # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsDocString -> EP w m HsDocString # | |
ExactPrint HsDocStringChunk # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsDocStringChunk -> Entry # setAnnotationAnchor :: HsDocStringChunk -> Anchor -> EpAnnComments -> HsDocStringChunk # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsDocStringChunk -> EP w m HsDocStringChunk # | |
ExactPrint CCallConv # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: CCallConv -> Entry # setAnnotationAnchor :: CCallConv -> Anchor -> EpAnnComments -> CCallConv # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => CCallConv -> EP w m CCallConv # | |
ExactPrint CExportSpec # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: CExportSpec -> Entry # setAnnotationAnchor :: CExportSpec -> Anchor -> EpAnnComments -> CExportSpec # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => CExportSpec -> EP w m CExportSpec # | |
ExactPrint Safety # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Safety -> Entry # setAnnotationAnchor :: Safety -> Anchor -> EpAnnComments -> Safety # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Safety -> EP w m Safety # | |
ExactPrint StringLiteral # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: StringLiteral -> Entry # setAnnotationAnchor :: StringLiteral -> Anchor -> EpAnnComments -> StringLiteral # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => StringLiteral -> EP w m StringLiteral # | |
ExactPrint Role # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Role -> Entry # setAnnotationAnchor :: Role -> Anchor -> EpAnnComments -> Role # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Role -> EP w m Role # | |
ExactPrint ModuleName # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ModuleName -> Entry # setAnnotationAnchor :: ModuleName -> Anchor -> EpAnnComments -> ModuleName # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ModuleName -> EP w m ModuleName # | |
ExactPrint HsIPName # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsIPName -> Entry # setAnnotationAnchor :: HsIPName -> Anchor -> EpAnnComments -> HsIPName # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsIPName -> EP w m HsIPName # | |
ExactPrint (BooleanFormula (LocatedN RdrName)) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: BooleanFormula (LocatedN RdrName) -> Entry # setAnnotationAnchor :: BooleanFormula (LocatedN RdrName) -> Anchor -> EpAnnComments -> BooleanFormula (LocatedN RdrName) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => BooleanFormula (LocatedN RdrName) -> EP w m (BooleanFormula (LocatedN RdrName)) # | |
ExactPrint a => ExactPrint (LocatedA a) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedA a -> Entry # setAnnotationAnchor :: LocatedA a -> Anchor -> EpAnnComments -> LocatedA a # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedA a -> EP w m (LocatedA a) # | |
ExactPrint a => ExactPrint (LocatedC a) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedC a -> Entry # setAnnotationAnchor :: LocatedC a -> Anchor -> EpAnnComments -> LocatedC a # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedC a -> EP w m (LocatedC a) # | |
ExactPrint (LocatedL (BooleanFormula (LocatedN RdrName))) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedL (BooleanFormula (LocatedN RdrName)) -> Entry # setAnnotationAnchor :: LocatedL (BooleanFormula (LocatedN RdrName)) -> Anchor -> EpAnnComments -> LocatedL (BooleanFormula (LocatedN RdrName)) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedL (BooleanFormula (LocatedN RdrName)) -> EP w m (LocatedL (BooleanFormula (LocatedN RdrName))) # | |
ExactPrint (Match GhcPs (LocatedA body)) => ExactPrint (LocatedL [LocatedA (Match GhcPs (LocatedA body))]) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedL [LocatedA (Match GhcPs (LocatedA body))] -> Entry # setAnnotationAnchor :: LocatedL [LocatedA (Match GhcPs (LocatedA body))] -> Anchor -> EpAnnComments -> LocatedL [LocatedA (Match GhcPs (LocatedA body))] # 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))]) # | |
ExactPrint (LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsCmd GhcPs)))]) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsCmd GhcPs)))] -> Entry # setAnnotationAnchor :: LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsCmd GhcPs)))] -> Anchor -> EpAnnComments -> LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsCmd GhcPs)))] # 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)))]) # | |
ExactPrint (LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsExpr GhcPs)))]) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsExpr GhcPs)))] -> Entry # setAnnotationAnchor :: LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsExpr GhcPs)))] -> Anchor -> EpAnnComments -> LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsExpr GhcPs)))] # 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)))]) # | |
ExactPrint (LocatedL [LocatedA (IE GhcPs)]) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedL [LocatedA (IE GhcPs)] -> Entry # setAnnotationAnchor :: LocatedL [LocatedA (IE GhcPs)] -> Anchor -> EpAnnComments -> LocatedL [LocatedA (IE GhcPs)] # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedL [LocatedA (IE GhcPs)] -> EP w m (LocatedL [LocatedA (IE GhcPs)]) # | |
ExactPrint (LocatedL [LocatedA (ConDeclField GhcPs)]) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedL [LocatedA (ConDeclField GhcPs)] -> Entry # setAnnotationAnchor :: LocatedL [LocatedA (ConDeclField GhcPs)] -> Anchor -> EpAnnComments -> LocatedL [LocatedA (ConDeclField GhcPs)] # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedL [LocatedA (ConDeclField GhcPs)] -> EP w m (LocatedL [LocatedA (ConDeclField GhcPs)]) # | |
ExactPrint (LocatedN RdrName) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedN RdrName -> Entry # setAnnotationAnchor :: LocatedN RdrName -> Anchor -> EpAnnComments -> LocatedN RdrName # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedN RdrName -> EP w m (LocatedN RdrName) # | |
ExactPrint (LocatedP OverlapMode) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedP OverlapMode -> Entry # setAnnotationAnchor :: LocatedP OverlapMode -> Anchor -> EpAnnComments -> LocatedP OverlapMode # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedP OverlapMode -> EP w m (LocatedP OverlapMode) # | |
ExactPrint (LocatedP CType) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedP CType -> Entry # setAnnotationAnchor :: LocatedP CType -> Anchor -> EpAnnComments -> LocatedP CType # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedP CType -> EP w m (LocatedP CType) # | |
ExactPrint (LocatedP (WarningTxt GhcPs)) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedP (WarningTxt GhcPs) -> Entry # setAnnotationAnchor :: LocatedP (WarningTxt GhcPs) -> Anchor -> EpAnnComments -> LocatedP (WarningTxt GhcPs) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedP (WarningTxt GhcPs) -> EP w m (LocatedP (WarningTxt GhcPs)) # | |
ExactPrint a => ExactPrint (Located a) # | Bare Located elements are simply stripped off without further processing. |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Located a -> Entry # setAnnotationAnchor :: Located a -> Anchor -> EpAnnComments -> Located a # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Located a -> EP w m (Located a) # | |
ExactPrint (HsModule GhcPs) # | 'Located (HsModule GhcPs)' corresponds to |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsModule GhcPs -> Entry # setAnnotationAnchor :: HsModule GhcPs -> Anchor -> EpAnnComments -> HsModule GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsModule GhcPs -> EP w m (HsModule GhcPs) # | |
ExactPrint (HsBind GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsBind GhcPs -> Entry # setAnnotationAnchor :: HsBind GhcPs -> Anchor -> EpAnnComments -> HsBind GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsBind GhcPs -> EP w m (HsBind GhcPs) # | |
ExactPrint (HsIPBinds GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsIPBinds GhcPs -> Entry # setAnnotationAnchor :: HsIPBinds GhcPs -> Anchor -> EpAnnComments -> HsIPBinds GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsIPBinds GhcPs -> EP w m (HsIPBinds GhcPs) # | |
ExactPrint (HsLocalBinds GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsLocalBinds GhcPs -> Entry # setAnnotationAnchor :: HsLocalBinds GhcPs -> Anchor -> EpAnnComments -> HsLocalBinds GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsLocalBinds GhcPs -> EP w m (HsLocalBinds GhcPs) # | |
ExactPrint (IPBind GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: IPBind GhcPs -> Entry # setAnnotationAnchor :: IPBind GhcPs -> Anchor -> EpAnnComments -> IPBind GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => IPBind GhcPs -> EP w m (IPBind GhcPs) # | |
ExactPrint (RecordPatSynField GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: RecordPatSynField GhcPs -> Entry # setAnnotationAnchor :: RecordPatSynField GhcPs -> Anchor -> EpAnnComments -> RecordPatSynField GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => RecordPatSynField GhcPs -> EP w m (RecordPatSynField GhcPs) # | |
ExactPrint (Sig GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Sig GhcPs -> Entry # setAnnotationAnchor :: Sig GhcPs -> Anchor -> EpAnnComments -> Sig GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Sig GhcPs -> EP w m (Sig GhcPs) # | |
ExactPrint (AnnDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: AnnDecl GhcPs -> Entry # setAnnotationAnchor :: AnnDecl GhcPs -> Anchor -> EpAnnComments -> AnnDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => AnnDecl GhcPs -> EP w m (AnnDecl GhcPs) # | |
ExactPrint (ClsInstDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ClsInstDecl GhcPs -> Entry # setAnnotationAnchor :: ClsInstDecl GhcPs -> Anchor -> EpAnnComments -> ClsInstDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ClsInstDecl GhcPs -> EP w m (ClsInstDecl GhcPs) # | |
ExactPrint (ConDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ConDecl GhcPs -> Entry # setAnnotationAnchor :: ConDecl GhcPs -> Anchor -> EpAnnComments -> ConDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ConDecl GhcPs -> EP w m (ConDecl GhcPs) # | |
ExactPrint (DefaultDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: DefaultDecl GhcPs -> Entry # setAnnotationAnchor :: DefaultDecl GhcPs -> Anchor -> EpAnnComments -> DefaultDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => DefaultDecl GhcPs -> EP w m (DefaultDecl GhcPs) # | |
ExactPrint (DerivClauseTys GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: DerivClauseTys GhcPs -> Entry # setAnnotationAnchor :: DerivClauseTys GhcPs -> Anchor -> EpAnnComments -> DerivClauseTys GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => DerivClauseTys GhcPs -> EP w m (DerivClauseTys GhcPs) # | |
ExactPrint (DerivDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: DerivDecl GhcPs -> Entry # setAnnotationAnchor :: DerivDecl GhcPs -> Anchor -> EpAnnComments -> DerivDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => DerivDecl GhcPs -> EP w m (DerivDecl GhcPs) # | |
ExactPrint (DerivStrategy GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: DerivStrategy GhcPs -> Entry # setAnnotationAnchor :: DerivStrategy GhcPs -> Anchor -> EpAnnComments -> DerivStrategy GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => DerivStrategy GhcPs -> EP w m (DerivStrategy GhcPs) # | |
ExactPrint (DocDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: DocDecl GhcPs -> Entry # setAnnotationAnchor :: DocDecl GhcPs -> Anchor -> EpAnnComments -> DocDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => DocDecl GhcPs -> EP w m (DocDecl GhcPs) # | |
ExactPrint (FamilyDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: FamilyDecl GhcPs -> Entry # setAnnotationAnchor :: FamilyDecl GhcPs -> Anchor -> EpAnnComments -> FamilyDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => FamilyDecl GhcPs -> EP w m (FamilyDecl GhcPs) # | |
ExactPrint (ForeignDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ForeignDecl GhcPs -> Entry # setAnnotationAnchor :: ForeignDecl GhcPs -> Anchor -> EpAnnComments -> ForeignDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ForeignDecl GhcPs -> EP w m (ForeignDecl GhcPs) # | |
ExactPrint (ForeignExport GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ForeignExport GhcPs -> Entry # setAnnotationAnchor :: ForeignExport GhcPs -> Anchor -> EpAnnComments -> ForeignExport GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ForeignExport GhcPs -> EP w m (ForeignExport GhcPs) # | |
ExactPrint (ForeignImport GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ForeignImport GhcPs -> Entry # setAnnotationAnchor :: ForeignImport GhcPs -> Anchor -> EpAnnComments -> ForeignImport GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ForeignImport GhcPs -> EP w m (ForeignImport GhcPs) # | |
ExactPrint (FunDep GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: FunDep GhcPs -> Entry # setAnnotationAnchor :: FunDep GhcPs -> Anchor -> EpAnnComments -> FunDep GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => FunDep GhcPs -> EP w m (FunDep GhcPs) # | |
ExactPrint (HsDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsDecl GhcPs -> Entry # setAnnotationAnchor :: HsDecl GhcPs -> Anchor -> EpAnnComments -> HsDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsDecl GhcPs -> EP w m (HsDecl GhcPs) # | |
ExactPrint (HsDerivingClause GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsDerivingClause GhcPs -> Entry # setAnnotationAnchor :: HsDerivingClause GhcPs -> Anchor -> EpAnnComments -> HsDerivingClause GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsDerivingClause GhcPs -> EP w m (HsDerivingClause GhcPs) # | |
ExactPrint (InjectivityAnn GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: InjectivityAnn GhcPs -> Entry # setAnnotationAnchor :: InjectivityAnn GhcPs -> Anchor -> EpAnnComments -> InjectivityAnn GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => InjectivityAnn GhcPs -> EP w m (InjectivityAnn GhcPs) # | |
ExactPrint (InstDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: InstDecl GhcPs -> Entry # setAnnotationAnchor :: InstDecl GhcPs -> Anchor -> EpAnnComments -> InstDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => InstDecl GhcPs -> EP w m (InstDecl GhcPs) # | |
ExactPrint (RoleAnnotDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: RoleAnnotDecl GhcPs -> Entry # setAnnotationAnchor :: RoleAnnotDecl GhcPs -> Anchor -> EpAnnComments -> RoleAnnotDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => RoleAnnotDecl GhcPs -> EP w m (RoleAnnotDecl GhcPs) # | |
ExactPrint (RuleBndr GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: RuleBndr GhcPs -> Entry # setAnnotationAnchor :: RuleBndr GhcPs -> Anchor -> EpAnnComments -> RuleBndr GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => RuleBndr GhcPs -> EP w m (RuleBndr GhcPs) # | |
ExactPrint (RuleDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: RuleDecl GhcPs -> Entry # setAnnotationAnchor :: RuleDecl GhcPs -> Anchor -> EpAnnComments -> RuleDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => RuleDecl GhcPs -> EP w m (RuleDecl GhcPs) # | |
ExactPrint (RuleDecls GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: RuleDecls GhcPs -> Entry # setAnnotationAnchor :: RuleDecls GhcPs -> Anchor -> EpAnnComments -> RuleDecls GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => RuleDecls GhcPs -> EP w m (RuleDecls GhcPs) # | |
ExactPrint (SpliceDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: SpliceDecl GhcPs -> Entry # setAnnotationAnchor :: SpliceDecl GhcPs -> Anchor -> EpAnnComments -> SpliceDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => SpliceDecl GhcPs -> EP w m (SpliceDecl GhcPs) # | |
ExactPrint (StandaloneKindSig GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: StandaloneKindSig GhcPs -> Entry # setAnnotationAnchor :: StandaloneKindSig GhcPs -> Anchor -> EpAnnComments -> StandaloneKindSig GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => StandaloneKindSig GhcPs -> EP w m (StandaloneKindSig GhcPs) # | |
ExactPrint (TyClDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: TyClDecl GhcPs -> Entry # setAnnotationAnchor :: TyClDecl GhcPs -> Anchor -> EpAnnComments -> TyClDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => TyClDecl GhcPs -> EP w m (TyClDecl GhcPs) # | |
ExactPrint (TyFamInstDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: TyFamInstDecl GhcPs -> Entry # setAnnotationAnchor :: TyFamInstDecl GhcPs -> Anchor -> EpAnnComments -> TyFamInstDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => TyFamInstDecl GhcPs -> EP w m (TyFamInstDecl GhcPs) # | |
ExactPrint (WarnDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: WarnDecl GhcPs -> Entry # setAnnotationAnchor :: WarnDecl GhcPs -> Anchor -> EpAnnComments -> WarnDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => WarnDecl GhcPs -> EP w m (WarnDecl GhcPs) # | |
ExactPrint (WarnDecls GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: WarnDecls GhcPs -> Entry # setAnnotationAnchor :: WarnDecls GhcPs -> Anchor -> EpAnnComments -> WarnDecls GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => WarnDecls GhcPs -> EP w m (WarnDecls GhcPs) # | |
ExactPrint (DotFieldOcc GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: DotFieldOcc GhcPs -> Entry # setAnnotationAnchor :: DotFieldOcc GhcPs -> Anchor -> EpAnnComments -> DotFieldOcc GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => DotFieldOcc GhcPs -> EP w m (DotFieldOcc GhcPs) # | |
ExactPrint (FieldLabelStrings GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: FieldLabelStrings GhcPs -> Entry # setAnnotationAnchor :: FieldLabelStrings GhcPs -> Anchor -> EpAnnComments -> FieldLabelStrings GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => FieldLabelStrings GhcPs -> EP w m (FieldLabelStrings GhcPs) # | |
ExactPrint (HsCmd GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsCmd GhcPs -> Entry # setAnnotationAnchor :: HsCmd GhcPs -> Anchor -> EpAnnComments -> HsCmd GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsCmd GhcPs -> EP w m (HsCmd GhcPs) # | |
ExactPrint (HsCmdTop GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsCmdTop GhcPs -> Entry # setAnnotationAnchor :: HsCmdTop GhcPs -> Anchor -> EpAnnComments -> HsCmdTop GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsCmdTop GhcPs -> EP w m (HsCmdTop GhcPs) # | |
ExactPrint (HsExpr GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsExpr GhcPs -> Entry # setAnnotationAnchor :: HsExpr GhcPs -> Anchor -> EpAnnComments -> HsExpr GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsExpr GhcPs -> EP w m (HsExpr GhcPs) # | |
ExactPrint (HsPragE GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsPragE GhcPs -> Entry # setAnnotationAnchor :: HsPragE GhcPs -> Anchor -> EpAnnComments -> HsPragE GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsPragE GhcPs -> EP w m (HsPragE GhcPs) # | |
ExactPrint (HsTupArg GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsTupArg GhcPs -> Entry # setAnnotationAnchor :: HsTupArg GhcPs -> Anchor -> EpAnnComments -> HsTupArg GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsTupArg GhcPs -> EP w m (HsTupArg GhcPs) # | |
ExactPrint (HsUntypedSplice GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsUntypedSplice GhcPs -> Entry # setAnnotationAnchor :: HsUntypedSplice GhcPs -> Anchor -> EpAnnComments -> HsUntypedSplice GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsUntypedSplice GhcPs -> EP w m (HsUntypedSplice GhcPs) # | |
ExactPrint (IE GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: IE GhcPs -> Entry # setAnnotationAnchor :: IE GhcPs -> Anchor -> EpAnnComments -> IE GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => IE GhcPs -> EP w m (IE GhcPs) # | |
ExactPrint (IEWrappedName GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: IEWrappedName GhcPs -> Entry # setAnnotationAnchor :: IEWrappedName GhcPs -> Anchor -> EpAnnComments -> IEWrappedName GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => IEWrappedName GhcPs -> EP w m (IEWrappedName GhcPs) # | |
ExactPrint (ImportDecl GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ImportDecl GhcPs -> Entry # setAnnotationAnchor :: ImportDecl GhcPs -> Anchor -> EpAnnComments -> ImportDecl GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ImportDecl GhcPs -> EP w m (ImportDecl GhcPs) # | |
ExactPrint (HsOverLit GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsOverLit GhcPs -> Entry # setAnnotationAnchor :: HsOverLit GhcPs -> Anchor -> EpAnnComments -> HsOverLit GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsOverLit GhcPs -> EP w m (HsOverLit GhcPs) # | |
ExactPrint (HsConPatTyArg GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsConPatTyArg GhcPs -> Entry # setAnnotationAnchor :: HsConPatTyArg GhcPs -> Anchor -> EpAnnComments -> HsConPatTyArg GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsConPatTyArg GhcPs -> EP w m (HsConPatTyArg GhcPs) # | |
ExactPrint (Pat GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Pat GhcPs -> Entry # setAnnotationAnchor :: Pat GhcPs -> Anchor -> EpAnnComments -> Pat GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Pat GhcPs -> EP w m (Pat GhcPs) # | |
ExactPrint (AmbiguousFieldOcc GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: AmbiguousFieldOcc GhcPs -> Entry # setAnnotationAnchor :: AmbiguousFieldOcc GhcPs -> Anchor -> EpAnnComments -> AmbiguousFieldOcc GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => AmbiguousFieldOcc GhcPs -> EP w m (AmbiguousFieldOcc GhcPs) # | |
ExactPrint (ConDeclField GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ConDeclField GhcPs -> Entry # setAnnotationAnchor :: ConDeclField GhcPs -> Anchor -> EpAnnComments -> ConDeclField GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ConDeclField GhcPs -> EP w m (ConDeclField GhcPs) # | |
ExactPrint (FieldOcc GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: FieldOcc GhcPs -> Entry # setAnnotationAnchor :: FieldOcc GhcPs -> Anchor -> EpAnnComments -> FieldOcc GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => FieldOcc GhcPs -> EP w m (FieldOcc GhcPs) # | |
ExactPrint (HsForAllTelescope GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsForAllTelescope GhcPs -> Entry # setAnnotationAnchor :: HsForAllTelescope GhcPs -> Anchor -> EpAnnComments -> HsForAllTelescope GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsForAllTelescope GhcPs -> EP w m (HsForAllTelescope GhcPs) # | |
ExactPrint (HsPatSigType GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsPatSigType GhcPs -> Entry # setAnnotationAnchor :: HsPatSigType GhcPs -> Anchor -> EpAnnComments -> HsPatSigType GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsPatSigType GhcPs -> EP w m (HsPatSigType GhcPs) # | |
ExactPrint (HsSigType GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsSigType GhcPs -> Entry # setAnnotationAnchor :: HsSigType GhcPs -> Anchor -> EpAnnComments -> HsSigType GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsSigType GhcPs -> EP w m (HsSigType GhcPs) # | |
ExactPrint (HsType GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsType GhcPs -> Entry # setAnnotationAnchor :: HsType GhcPs -> Anchor -> EpAnnComments -> HsType GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsType GhcPs -> EP w m (HsType GhcPs) # | |
ExactPrint a => ExactPrint (Maybe a) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Maybe a -> Entry # setAnnotationAnchor :: Maybe a -> Anchor -> EpAnnComments -> Maybe a # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Maybe a -> EP w m (Maybe a) # | |
ExactPrint a => ExactPrint [a] # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: [a] -> Entry # setAnnotationAnchor :: [a] -> Anchor -> EpAnnComments -> [a] # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => [a] -> EP w m [a] # | |
(ExactPrint (HsFieldBind (LocatedAn NoEpAnns (a GhcPs)) body), ExactPrint (HsFieldBind (LocatedAn NoEpAnns (b GhcPs)) body)) => ExactPrint (Either [LocatedA (HsFieldBind (LocatedAn NoEpAnns (a GhcPs)) body)] [LocatedA (HsFieldBind (LocatedAn NoEpAnns (b GhcPs)) body)]) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Either [LocatedA (HsFieldBind (LocatedAn NoEpAnns (a GhcPs)) body)] [LocatedA (HsFieldBind (LocatedAn NoEpAnns (b GhcPs)) body)] -> Entry # setAnnotationAnchor :: Either [LocatedA (HsFieldBind (LocatedAn NoEpAnns (a GhcPs)) body)] [LocatedA (HsFieldBind (LocatedAn NoEpAnns (b GhcPs)) body)] -> Anchor -> EpAnnComments -> Either [LocatedA (HsFieldBind (LocatedAn NoEpAnns (a GhcPs)) body)] [LocatedA (HsFieldBind (LocatedAn NoEpAnns (b GhcPs)) body)] # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Either [LocatedA (HsFieldBind (LocatedAn NoEpAnns (a GhcPs)) body)] [LocatedA (HsFieldBind (LocatedAn NoEpAnns (b GhcPs)) body)] -> EP w m (Either [LocatedA (HsFieldBind (LocatedAn NoEpAnns (a GhcPs)) body)] [LocatedA (HsFieldBind (LocatedAn NoEpAnns (b GhcPs)) body)]) # | |
ExactPrint a => ExactPrint (WithHsDocIdentifiers a GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: WithHsDocIdentifiers a GhcPs -> Entry # setAnnotationAnchor :: WithHsDocIdentifiers a GhcPs -> Anchor -> EpAnnComments -> WithHsDocIdentifiers a GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => WithHsDocIdentifiers a GhcPs -> EP w m (WithHsDocIdentifiers a GhcPs) # | |
ExactPrint a => ExactPrint (LocatedAn NoEpAnns a) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: LocatedAn NoEpAnns a -> Entry # setAnnotationAnchor :: LocatedAn NoEpAnns a -> Anchor -> EpAnnComments -> LocatedAn NoEpAnns a # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => LocatedAn NoEpAnns a -> EP w m (LocatedAn NoEpAnns a) # | |
ExactPrint (HsValBindsLR GhcPs GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsValBindsLR GhcPs GhcPs -> Entry # setAnnotationAnchor :: HsValBindsLR GhcPs GhcPs -> Anchor -> EpAnnComments -> HsValBindsLR GhcPs GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsValBindsLR GhcPs GhcPs -> EP w m (HsValBindsLR GhcPs GhcPs) # | |
ExactPrint (PatSynBind GhcPs GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: PatSynBind GhcPs GhcPs -> Entry # setAnnotationAnchor :: PatSynBind GhcPs GhcPs -> Anchor -> EpAnnComments -> PatSynBind GhcPs GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => PatSynBind GhcPs GhcPs -> EP w m (PatSynBind GhcPs GhcPs) # | |
ExactPrint body => ExactPrint (FamEqn GhcPs body) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: FamEqn GhcPs body -> Entry # setAnnotationAnchor :: FamEqn GhcPs body -> Anchor -> EpAnnComments -> FamEqn GhcPs body # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => FamEqn GhcPs body -> EP w m (FamEqn GhcPs body) # | |
ExactPrint (GRHS GhcPs (LocatedA (HsCmd GhcPs))) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: GRHS GhcPs (LocatedA (HsCmd GhcPs)) -> Entry # setAnnotationAnchor :: GRHS GhcPs (LocatedA (HsCmd GhcPs)) -> Anchor -> EpAnnComments -> GRHS GhcPs (LocatedA (HsCmd GhcPs)) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => GRHS GhcPs (LocatedA (HsCmd GhcPs)) -> EP w m (GRHS GhcPs (LocatedA (HsCmd GhcPs))) # | |
ExactPrint (GRHS GhcPs (LocatedA (HsExpr GhcPs))) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: GRHS GhcPs (LocatedA (HsExpr GhcPs)) -> Entry # setAnnotationAnchor :: GRHS GhcPs (LocatedA (HsExpr GhcPs)) -> Anchor -> EpAnnComments -> GRHS GhcPs (LocatedA (HsExpr GhcPs)) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => GRHS GhcPs (LocatedA (HsExpr GhcPs)) -> EP w m (GRHS GhcPs (LocatedA (HsExpr GhcPs))) # | |
ExactPrint (GRHSs GhcPs (LocatedA (HsCmd GhcPs))) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: GRHSs GhcPs (LocatedA (HsCmd GhcPs)) -> Entry # setAnnotationAnchor :: GRHSs GhcPs (LocatedA (HsCmd GhcPs)) -> Anchor -> EpAnnComments -> GRHSs GhcPs (LocatedA (HsCmd GhcPs)) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => GRHSs GhcPs (LocatedA (HsCmd GhcPs)) -> EP w m (GRHSs GhcPs (LocatedA (HsCmd GhcPs))) # | |
ExactPrint (GRHSs GhcPs (LocatedA (HsExpr GhcPs))) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: GRHSs GhcPs (LocatedA (HsExpr GhcPs)) -> Entry # setAnnotationAnchor :: GRHSs GhcPs (LocatedA (HsExpr GhcPs)) -> Anchor -> EpAnnComments -> GRHSs GhcPs (LocatedA (HsExpr GhcPs)) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => GRHSs GhcPs (LocatedA (HsExpr GhcPs)) -> EP w m (GRHSs GhcPs (LocatedA (HsExpr GhcPs))) # | |
ExactPrint (Match GhcPs (LocatedA (HsCmd GhcPs))) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Match GhcPs (LocatedA (HsCmd GhcPs)) -> Entry # setAnnotationAnchor :: Match GhcPs (LocatedA (HsCmd GhcPs)) -> Anchor -> EpAnnComments -> Match GhcPs (LocatedA (HsCmd GhcPs)) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Match GhcPs (LocatedA (HsCmd GhcPs)) -> EP w m (Match GhcPs (LocatedA (HsCmd GhcPs))) # | |
ExactPrint (Match GhcPs (LocatedA (HsExpr GhcPs))) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: Match GhcPs (LocatedA (HsExpr GhcPs)) -> Entry # setAnnotationAnchor :: Match GhcPs (LocatedA (HsExpr GhcPs)) -> Anchor -> EpAnnComments -> Match GhcPs (LocatedA (HsExpr GhcPs)) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => Match GhcPs (LocatedA (HsExpr GhcPs)) -> EP w m (Match GhcPs (LocatedA (HsExpr GhcPs))) # | |
ExactPrint (MatchGroup GhcPs (LocatedA (HsCmd GhcPs))) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: MatchGroup GhcPs (LocatedA (HsCmd GhcPs)) -> Entry # setAnnotationAnchor :: MatchGroup GhcPs (LocatedA (HsCmd GhcPs)) -> Anchor -> EpAnnComments -> MatchGroup GhcPs (LocatedA (HsCmd GhcPs)) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => MatchGroup GhcPs (LocatedA (HsCmd GhcPs)) -> EP w m (MatchGroup GhcPs (LocatedA (HsCmd GhcPs))) # | |
ExactPrint (MatchGroup GhcPs (LocatedA (HsExpr GhcPs))) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: MatchGroup GhcPs (LocatedA (HsExpr GhcPs)) -> Entry # setAnnotationAnchor :: MatchGroup GhcPs (LocatedA (HsExpr GhcPs)) -> Anchor -> EpAnnComments -> MatchGroup GhcPs (LocatedA (HsExpr GhcPs)) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => MatchGroup GhcPs (LocatedA (HsExpr GhcPs)) -> EP w m (MatchGroup GhcPs (LocatedA (HsExpr GhcPs))) # | |
ExactPrint (ParStmtBlock GhcPs GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: ParStmtBlock GhcPs GhcPs -> Entry # setAnnotationAnchor :: ParStmtBlock GhcPs GhcPs -> Anchor -> EpAnnComments -> ParStmtBlock GhcPs GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => ParStmtBlock GhcPs GhcPs -> EP w m (ParStmtBlock GhcPs GhcPs) # | |
ExactPrint body => ExactPrint (HsFieldBind (LocatedAn NoEpAnns (FieldLabelStrings GhcPs)) body) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsFieldBind (LocatedAn NoEpAnns (FieldLabelStrings GhcPs)) body -> Entry # setAnnotationAnchor :: HsFieldBind (LocatedAn NoEpAnns (FieldLabelStrings GhcPs)) body -> Anchor -> EpAnnComments -> HsFieldBind (LocatedAn NoEpAnns (FieldLabelStrings GhcPs)) body # 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) # | |
ExactPrint (LocatedA body) => ExactPrint (HsFieldBind (LocatedAn NoEpAnns (AmbiguousFieldOcc GhcPs)) (LocatedA body)) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsFieldBind (LocatedAn NoEpAnns (AmbiguousFieldOcc GhcPs)) (LocatedA body) -> Entry # setAnnotationAnchor :: HsFieldBind (LocatedAn NoEpAnns (AmbiguousFieldOcc GhcPs)) (LocatedA body) -> Anchor -> EpAnnComments -> HsFieldBind (LocatedAn NoEpAnns (AmbiguousFieldOcc GhcPs)) (LocatedA body) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsFieldBind (LocatedAn NoEpAnns (AmbiguousFieldOcc GhcPs)) (LocatedA body) -> EP w m (HsFieldBind (LocatedAn NoEpAnns (AmbiguousFieldOcc GhcPs)) (LocatedA body)) # | |
ExactPrint body => ExactPrint (HsFieldBind (LocatedAn NoEpAnns (FieldOcc GhcPs)) body) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsFieldBind (LocatedAn NoEpAnns (FieldOcc GhcPs)) body -> Entry # setAnnotationAnchor :: HsFieldBind (LocatedAn NoEpAnns (FieldOcc GhcPs)) body -> Anchor -> EpAnnComments -> HsFieldBind (LocatedAn NoEpAnns (FieldOcc GhcPs)) body # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsFieldBind (LocatedAn NoEpAnns (FieldOcc GhcPs)) body -> EP w m (HsFieldBind (LocatedAn NoEpAnns (FieldOcc GhcPs)) body) # | |
ExactPrint body => ExactPrint (HsRecFields GhcPs body) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsRecFields GhcPs body -> Entry # setAnnotationAnchor :: HsRecFields GhcPs body -> Anchor -> EpAnnComments -> HsRecFields GhcPs body # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsRecFields GhcPs body -> EP w m (HsRecFields GhcPs body) # | |
(ExactPrint tm, ExactPrint ty, Outputable tm, Outputable ty) => ExactPrint (HsArg tm ty) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsArg tm ty -> Entry # setAnnotationAnchor :: HsArg tm ty -> Anchor -> EpAnnComments -> HsArg tm ty # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsArg tm ty -> EP w m (HsArg tm ty) # | |
ExactPrintTVFlag flag => ExactPrint (HsOuterTyVarBndrs flag GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsOuterTyVarBndrs flag GhcPs -> Entry # setAnnotationAnchor :: HsOuterTyVarBndrs flag GhcPs -> Anchor -> EpAnnComments -> HsOuterTyVarBndrs flag GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsOuterTyVarBndrs flag GhcPs -> EP w m (HsOuterTyVarBndrs flag GhcPs) # | |
ExactPrint a => ExactPrint (HsScaled GhcPs a) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsScaled GhcPs a -> Entry # setAnnotationAnchor :: HsScaled GhcPs a -> Anchor -> EpAnnComments -> HsScaled GhcPs a # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsScaled GhcPs a -> EP w m (HsScaled GhcPs a) # | |
ExactPrintTVFlag flag => ExactPrint (HsTyVarBndr flag GhcPs) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsTyVarBndr flag GhcPs -> Entry # setAnnotationAnchor :: HsTyVarBndr flag GhcPs -> Anchor -> EpAnnComments -> HsTyVarBndr flag GhcPs # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsTyVarBndr flag GhcPs -> EP w m (HsTyVarBndr flag GhcPs) # | |
ExactPrint body => ExactPrint (HsWildCardBndrs GhcPs body) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: HsWildCardBndrs GhcPs body -> Entry # setAnnotationAnchor :: HsWildCardBndrs GhcPs body -> Anchor -> EpAnnComments -> HsWildCardBndrs GhcPs body # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => HsWildCardBndrs GhcPs body -> EP w m (HsWildCardBndrs GhcPs body) # | |
ExactPrint (SourceText, RuleName) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: (SourceText, RuleName) -> Entry # setAnnotationAnchor :: (SourceText, RuleName) -> Anchor -> EpAnnComments -> (SourceText, RuleName) # exact :: forall (m :: Type -> Type) w. (Monad m, Monoid w) => (SourceText, RuleName) -> EP w m (SourceText, RuleName) # | |
(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))) # | |
Defined in Language.Haskell.GHC.ExactPrint.ExactPrint Methods getAnnotationEntry :: StmtLR GhcPs GhcPs (LocatedA (body GhcPs)) -> Entry # setAnnotationAnchor :: StmtLR GhcPs GhcPs (LocatedA (body GhcPs)) -> Anchor -> EpAnnComments -> StmtLR GhcPs GhcPs (LocatedA (body GhcPs)) # 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))) # |
exactPrint :: ExactPrint ast => ast -> String #
exactPrintWithOptions :: (ExactPrint ast, Monoid b, Monad m) => EPOptions m b -> ast -> m (ast, b) #
The additional option to specify the rigidity and printing configuration.
makeDeltaAst :: ExactPrint ast => ast -> ast #
Transform concrete annotations into relative annotations which
are more useful when transforming an AST. This corresponds to the
earlier relativiseApiAnns
.
Configuration
The R part of RWS. The environment. Updated via local
as we
enter a new AST element, having a different anchor point.
stringOptions :: EPOptions Identity String #
Options which can be used to print as a normal String.
epOptions :: (forall ast. Data ast => Located ast -> a -> m a) -> (String -> m a) -> (String -> m a) -> Rigidity -> Bool -> EPOptions m a #
Helper to create a EPOptions
deltaOptions :: EPOptions Identity () #
Options which can be used to simply update the AST to be in delta form, without generating output