fastn_resolved/evalexpr/operator/
display.rs

1use std::fmt::{Display, Error, Formatter};
2
3use fastn_resolved::evalexpr::operator::*;
4
5impl Display for Operator {
6    fn fmt(&self, f: &mut Formatter) -> Result<(), Error> {
7        use fastn_resolved::evalexpr::operator::Operator::*;
8        match self {
9            RootNode => Ok(()),
10            Add => write!(f, "+"),
11            Sub => write!(f, "-"),
12            Neg => write!(f, "-"),
13            Mul => write!(f, "*"),
14            Div => write!(f, "/"),
15            Mod => write!(f, "%"),
16            Exp => write!(f, "^"),
17
18            Eq => write!(f, "=="),
19            Neq => write!(f, "!="),
20            Gt => write!(f, ">"),
21            Lt => write!(f, "<"),
22            Geq => write!(f, ">="),
23            Leq => write!(f, "<="),
24            And => write!(f, "&&"),
25            Or => write!(f, "||"),
26            Not => write!(f, "!"),
27
28            Assign => write!(f, " = "),
29            AddAssign => write!(f, " += "),
30            SubAssign => write!(f, " -= "),
31            MulAssign => write!(f, " *= "),
32            DivAssign => write!(f, " /= "),
33            ModAssign => write!(f, " %= "),
34            ExpAssign => write!(f, " ^= "),
35            AndAssign => write!(f, " &&= "),
36            OrAssign => write!(f, " ||= "),
37
38            Tuple => write!(f, ", "),
39            Chain => write!(f, "; "),
40
41            Const { value } => write!(f, "{}", value),
42            VariableIdentifierWrite { identifier } | VariableIdentifierRead { identifier } => {
43                write!(f, "{}", identifier)
44            }
45            FunctionIdentifier { identifier } => write!(f, "{}", identifier),
46        }
47    }
48}