use super::Expression;
#[derive(Clone, Debug)]
pub enum ExprBinary {
Add(ExprBinaryData),
Sub(ExprBinaryData),
Mul(ExprBinaryData),
Div(ExprBinaryData),
FloorDiv(ExprBinaryData),
Mod(ExprBinaryData),
Pow(ExprBinaryData),
Concat(ExprBinaryData),
BitwiseAnd(ExprBinaryData),
BitwiseOr(ExprBinaryData),
BitwiseXor(ExprBinaryData),
ShiftLeft(ExprBinaryData),
ShiftRight(ExprBinaryData),
Equal(ExprBinaryData),
NotEqual(ExprBinaryData),
LessThan(ExprBinaryData),
LessEqual(ExprBinaryData),
GreaterThan(ExprBinaryData),
GreaterEqual(ExprBinaryData),
LogicalAnd(ExprBinaryData),
LogicalOr(ExprBinaryData),
}
impl ExprBinary {}
#[derive(Clone, Debug)]
pub struct ExprBinaryData {
pub lhs: Box<Expression>,
pub rhs: Box<Expression>,
}
impl ExprBinaryData {
pub fn new(lhs: Expression, rhs: Expression) -> Self {
Self {
lhs: Box::new(lhs),
rhs: Box::new(rhs),
}
}
}