module Language.Haskell.Tools.Rewrite.Match.TH where
import Language.Haskell.Tools.AST
import Language.Haskell.Tools.Rewrite.ElementTypes
pattern IdSplice :: Name -> Splice
pattern IdSplice n <- Ann _ (UIdSplice n)
pattern ParenSplice :: Expr -> Splice
pattern ParenSplice e <- Ann _ (UParenSplice e)
pattern QuasiQuote :: Name -> String -> QuasiQuote
pattern QuasiQuote n qqStr <- Ann _ (UQuasiQuote n (Ann _ (QQString qqStr)))
pattern ExprBracket :: Expr -> Bracket
pattern ExprBracket e <- Ann _ (UExprBracket e)
pattern PatternBracket :: Pattern -> Bracket
pattern PatternBracket p <- Ann _ (UPatternBracket p)
pattern TypeBracket :: Type -> Bracket
pattern TypeBracket t <- Ann _ (UTypeBracket t)
pattern DeclsBracket :: DeclList -> Bracket
pattern DeclsBracket d <- Ann _ (UDeclsBracket d)