module Language.Haskell.Tools.Rewrite.Match.Stmts where
import Language.Haskell.Tools.AST
import Language.Haskell.Tools.Rewrite.ElementTypes
pattern BindStmt :: Pattern -> Expr -> Stmt
pattern BindStmt bound expr <- Ann _ (UBindStmt bound expr)
pattern ExprStmt :: Expr -> Stmt
pattern ExprStmt expr <- Ann _ (UExprStmt expr)
pattern LetStmt :: LocalBindList -> Stmt
pattern LetStmt binds <- Ann _ (ULetStmt binds)
pattern RecStmt :: StmtList -> Stmt
pattern RecStmt stmts <- Ann _ (URecStmt stmts)
pattern DoKeyword :: DoKind
pattern DoKeyword <- Ann _ UDoKeyword
pattern MDoKeyword :: DoKind
pattern MDoKeyword <- Ann _ UMDoKeyword
pattern ListCompBody :: CompStmtList -> ListCompBody
pattern ListCompBody stmts <- Ann _ (UListCompBody stmts)
pattern CompStmt :: Stmt -> CompStmt
pattern CompStmt stmt <- Ann _ (UCompStmt stmt)
pattern ThenStmt :: Expr -> MaybeExpr -> CompStmt
pattern ThenStmt then_ by <- Ann _ (UThenStmt then_ by)
pattern GroupStmt :: MaybeExpr -> MaybeExpr -> CompStmt
pattern GroupStmt by using <- Ann _ (UGroupStmt by using)
pattern BindStmtCmd :: Pattern -> Cmd -> CmdStmt
pattern BindStmtCmd bound expr <- Ann _ (UBindStmt bound expr)
pattern ExprStmtCmd :: Cmd -> CmdStmt
pattern ExprStmtCmd expr <- Ann _ (UExprStmt expr)
pattern LetStmtCmd :: LocalBindList -> CmdStmt
pattern LetStmtCmd binds <- Ann _ (ULetStmt binds)
pattern RecStmtCmd :: CmdStmtList -> CmdStmt
pattern RecStmtCmd stmts <- Ann _ (URecStmt stmts)