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