cl-ast: Unify break, return, and unary expressions

This commit is contained in:
2024-07-30 20:16:07 -05:00
parent 0e545077c6
commit adb0fd229c
8 changed files with 15 additions and 123 deletions

View File

@@ -398,10 +398,6 @@ pub enum ExprKind {
If(If),
/// A [For] expression: `for` Pattern `in` [`Expr`] [`Block`] [`Else`]?
For(For),
/// A [Break] expression: `break` [`Expr`]?
Break(Break),
/// A [Return] expression `return` [`Expr`]?
Return(Return),
/// A continue expression: `continue`
Continue,
}
@@ -482,6 +478,8 @@ pub enum UnaryKind {
Not,
/// A Loop expression: `loop` [`Block`]
Loop,
Break,
Return,
/// Unused
At,
/// Unused
@@ -600,15 +598,3 @@ pub struct For {
pub struct Else {
pub body: Option<Box<Expr>>,
}
/// A [Break] expression: `break` [`Expr`]?
#[derive(Clone, Debug, PartialEq, Eq, Hash)]
pub struct Break {
pub body: Option<Box<Expr>>,
}
/// A [Return] expression `return` [`Expr`]?
#[derive(Clone, Debug, PartialEq, Eq, Hash)]
pub struct Return {
pub body: Option<Box<Expr>>,
}