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