evalexpr/operator/
display.rs1#![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}