evalexpr/operator/
display.rs

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