module Language.Haskell.Tools.Refactor.RangeDebug.Instances where
import Language.Haskell.Tools.Refactor.RangeDebug
import GHC.Generics
import Language.Haskell.Tools.AST
instance (TreeDebug e a, Show (e a)) => TreeDebug (Ann e) a where
treeDebug' f i (Ann a e) = identLine i ++ f a ++ " " ++ take 40 (show e) ++ "..." ++ treeDebug' f (i+1) e
identLine :: Int -> String
identLine i = "\n" ++ replicate (i*2) ' '
instance (TreeDebug e a, Show (e a)) => TreeDebug (AnnList e) a where
treeDebug' f i (AnnList a ls) = identLine i ++ f a ++ " <*>" ++ concatMap (treeDebug' f (i + 1)) ls
instance (TreeDebug e a, Show (e a)) => TreeDebug (AnnMaybe e) a where
treeDebug' f i (AnnMaybe a e) = identLine i ++ f a ++ " <?>" ++ maybe "" (\e -> treeDebug' f (i + 1) e) e
instance (Generic a, Show a) => TreeDebug Module a
instance (Generic a, Show a) => TreeDebug ModuleHead a
instance (Generic a, Show a) => TreeDebug ExportSpecList a
instance (Generic a, Show a) => TreeDebug ExportSpec a
instance (Generic a, Show a) => TreeDebug IESpec a
instance (Generic a, Show a) => TreeDebug SubSpec a
instance (Generic a, Show a) => TreeDebug ModulePragma a
instance (Generic a, Show a) => TreeDebug FilePragma a
instance (Generic a, Show a) => TreeDebug ImportDecl a
instance (Generic a, Show a) => TreeDebug ImportSpec a
instance (Generic a, Show a) => TreeDebug ImportQualified a
instance (Generic a, Show a) => TreeDebug ImportSource a
instance (Generic a, Show a) => TreeDebug ImportSafe a
instance (Generic a, Show a) => TreeDebug TypeNamespace a
instance (Generic a, Show a) => TreeDebug ImportRenaming a
instance (Generic a, Show a) => TreeDebug Decl a
instance (Generic a, Show a) => TreeDebug ClassBody a
instance (Generic a, Show a) => TreeDebug ClassElement a
instance (Generic a, Show a) => TreeDebug DeclHead a
instance (Generic a, Show a) => TreeDebug InstBody a
instance (Generic a, Show a) => TreeDebug InstBodyDecl a
instance (Generic a, Show a) => TreeDebug GadtConDecl a
instance (Generic a, Show a) => TreeDebug GadtConType a
instance (Generic a, Show a) => TreeDebug GadtField a
instance (Generic a, Show a) => TreeDebug FunDeps a
instance (Generic a, Show a) => TreeDebug FunDep a
instance (Generic a, Show a) => TreeDebug ConDecl a
instance (Generic a, Show a) => TreeDebug FieldDecl a
instance (Generic a, Show a) => TreeDebug Deriving a
instance (Generic a, Show a) => TreeDebug InstanceRule a
instance (Generic a, Show a) => TreeDebug InstanceHead a
instance (Generic a, Show a) => TreeDebug TypeEqn a
instance (Generic a, Show a) => TreeDebug KindConstraint a
instance (Generic a, Show a) => TreeDebug TyVar a
instance (Generic a, Show a) => TreeDebug Type a
instance (Generic a, Show a) => TreeDebug Kind a
instance (Generic a, Show a) => TreeDebug Context a
instance (Generic a, Show a) => TreeDebug Assertion a
instance (Generic a, Show a) => TreeDebug Expr a
instance (Generic a, Show a, TreeDebug expr a, Show (expr a), Generic (expr a)) => TreeDebug (Stmt' expr) a
instance (Generic a, Show a) => TreeDebug CompStmt a
instance (Generic a, Show a) => TreeDebug ValueBind a
instance (Generic a, Show a) => TreeDebug Pattern a
instance (Generic a, Show a) => TreeDebug PatternField a
instance (Generic a, Show a) => TreeDebug Splice a
instance (Generic a, Show a) => TreeDebug QQString a
instance (Generic a, Show a) => TreeDebug Match a
instance (Generic a, Show a, TreeDebug expr a, Show (expr a), Generic (expr a)) => TreeDebug (Alt' expr) a
instance (Generic a, Show a) => TreeDebug Rhs a
instance (Generic a, Show a) => TreeDebug GuardedRhs a
instance (Generic a, Show a) => TreeDebug FieldUpdate a
instance (Generic a, Show a) => TreeDebug Bracket a
instance (Generic a, Show a) => TreeDebug TopLevelPragma a
instance (Generic a, Show a) => TreeDebug Rule a
instance (Generic a, Show a) => TreeDebug AnnotationSubject a
instance (Generic a, Show a) => TreeDebug MinimalFormula a
instance (Generic a, Show a) => TreeDebug ExprPragma a
instance (Generic a, Show a) => TreeDebug SourceRange a
instance (Generic a, Show a) => TreeDebug Number a
instance (Generic a, Show a) => TreeDebug QuasiQuote a
instance (Generic a, Show a) => TreeDebug RhsGuard a
instance (Generic a, Show a) => TreeDebug LocalBind a
instance (Generic a, Show a) => TreeDebug LocalBinds a
instance (Generic a, Show a) => TreeDebug FixitySignature a
instance (Generic a, Show a) => TreeDebug TypeSignature a
instance (Generic a, Show a) => TreeDebug ListCompBody a
instance (Generic a, Show a) => TreeDebug TupSecElem a
instance (Generic a, Show a) => TreeDebug TypeFamily a
instance (Generic a, Show a) => TreeDebug TypeFamilySpec a
instance (Generic a, Show a) => TreeDebug InjectivityAnn a
instance (Generic a, Show a, TreeDebug expr a, Show (expr a), Generic (expr a)) => TreeDebug (CaseRhs' expr) a
instance (Generic a, Show a, TreeDebug expr a, Show (expr a), Generic (expr a)) => TreeDebug (GuardedCaseRhs' expr) a
instance (Generic a, Show a) => TreeDebug PatternSynonym a
instance (Generic a, Show a) => TreeDebug PatSynRhs a
instance (Generic a, Show a) => TreeDebug PatSynLhs a
instance (Generic a, Show a) => TreeDebug PatSynWhere a
instance (Generic a, Show a) => TreeDebug PatternTypeSignature a
instance (Generic a, Show a) => TreeDebug Role a
instance (Generic a, Show a) => TreeDebug Cmd a
instance (Generic a, Show a) => TreeDebug LanguageExtension a
instance (Generic a, Show a) => TreeDebug MatchLhs a
instance (Generic a, Show a) => TreeDebug Literal a
instance (Generic a, Show a, TreeDebug k a, Show (k a), Generic (k a)) => TreeDebug (Promoted k) a
instance (Generic a, Show a) => TreeDebug Operator a
instance (Generic a, Show a) => TreeDebug Name a
instance (Generic a, Show a) => TreeDebug SimpleName a
instance (Generic a, Show a) => TreeDebug UnqualName a
instance (Generic a, Show a) => TreeDebug StringNode a
instance (Generic a, Show a) => TreeDebug DataOrNewtypeKeyword a
instance (Generic a, Show a) => TreeDebug DoKind a
instance (Generic a, Show a) => TreeDebug TypeKeyword a
instance (Generic a, Show a) => TreeDebug OverlapPragma a
instance (Generic a, Show a) => TreeDebug CallConv a
instance (Generic a, Show a) => TreeDebug ArrowAppl a
instance (Generic a, Show a) => TreeDebug Safety a
instance (Generic a, Show a) => TreeDebug ConlikeAnnot a
instance (Generic a, Show a) => TreeDebug Assoc a
instance (Generic a, Show a) => TreeDebug Precedence a
instance (Generic a, Show a) => TreeDebug LineNumber a
instance (Generic a, Show a) => TreeDebug PhaseControl a
instance (Generic a, Show a) => TreeDebug PhaseNumber a
instance (Generic a, Show a) => TreeDebug PhaseInvert a