module Language.Haskell.Tools.AST.Instances.Generic where
import GHC.Generics
import Language.Haskell.Tools.AST.Modules
import Language.Haskell.Tools.AST.TH
import Language.Haskell.Tools.AST.Decls
import Language.Haskell.Tools.AST.Binds
import Language.Haskell.Tools.AST.Exprs
import Language.Haskell.Tools.AST.Stmts
import Language.Haskell.Tools.AST.Patterns
import Language.Haskell.Tools.AST.Types
import Language.Haskell.Tools.AST.Kinds
import Language.Haskell.Tools.AST.Literals
import Language.Haskell.Tools.AST.Base
import Language.Haskell.Tools.AST.Ann
deriving instance (Domain dom, SourceInfo stage, Generic (e dom stage)) => Generic (Ann e dom stage)
deriving instance (Domain dom, SourceInfo stage, Generic (e dom stage)) => Generic (AnnMaybe e dom stage)
deriving instance (Domain dom, SourceInfo stage, Generic (e dom stage)) => Generic (AnnList e dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Module dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ModuleHead dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ExportSpecList dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ExportSpec dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (IESpec dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (SubSpec dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ModulePragma dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (FilePragma dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ImportDecl dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ImportSpec dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ImportQualified dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ImportSource dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ImportSafe dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (TypeNamespace dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ImportRenaming dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Decl dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ClassBody dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ClassElement dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (DeclHead dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (InstBody dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (InstBodyDecl dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (GadtConDecl dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (GadtConType dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (FieldWildcard dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (FunDeps dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (FunDep dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ConDecl dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (FieldDecl dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Deriving dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (InstanceRule dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (InstanceHead dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (TypeEqn dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (KindConstraint dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (TyVar dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Type dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Kind dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Context dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Assertion dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Expr dom stage)
deriving instance (Domain dom, SourceInfo stage, Generic (expr dom stage)) => Generic (Stmt' expr dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (CompStmt dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ValueBind dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Pattern dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (PatternField dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Splice dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (QQString dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Match dom stage)
deriving instance (Domain dom, SourceInfo stage, Generic (expr dom stage)) => Generic (Alt' expr dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Rhs dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (GuardedRhs dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (FieldUpdate dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Bracket dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (TopLevelPragma dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Rule dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (AnnotationSubject dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (MinimalFormula dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ExprPragma dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (SourceRange dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Number dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (QuasiQuote dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (RhsGuard dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (LocalBind dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (LocalBinds dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (FixitySignature dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (TypeSignature dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ListCompBody dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (TupSecElem dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (TypeFamily dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (TypeFamilySpec dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (InjectivityAnn dom stage)
deriving instance (Domain dom, SourceInfo stage, Generic (expr dom stage)) => Generic (CaseRhs' expr dom stage)
deriving instance (Domain dom, SourceInfo stage, Generic (expr dom stage)) => Generic (GuardedCaseRhs' expr dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (PatternSynonym dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (PatSynRhs dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (PatSynLhs dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (PatSynWhere dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (PatternTypeSignature dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Role dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Cmd dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (LanguageExtension dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (MatchLhs dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Literal dom stage)
deriving instance (Domain dom, SourceInfo stage, Generic (k dom stage)) => Generic (Promoted k dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Operator dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Name dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (QualifiedName dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ModuleName dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (UnqualName dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (StringNode dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (DataOrNewtypeKeyword dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (DoKind dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (TypeKeyword dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (OverlapPragma dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (CallConv dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ArrowAppl dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Safety dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (ConlikeAnnot dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Assoc dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (Precedence dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (LineNumber dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (PhaseControl dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (PhaseNumber dom stage)
deriving instance (Domain dom, SourceInfo stage) => Generic (PhaseInvert dom stage)