git.delta.rocks / jrsonnet / refs/commits / eaf3cd1da31b

difftreelog

feat(parser) impl Display for op types

Lach2020-08-26parent: #bcbd397.patch.diff
in: master

1 file changed

modifiedcrates/jrsonnet-parser/src/expr.rsdiffbeforeafterboth
3#[cfg(feature = "serialize")]3#[cfg(feature = "serialize")]
4use serde::Serialize;4use serde::Serialize;
5use std::{fmt::Debug, ops::Deref, path::PathBuf, rc::Rc};5use std::{
6 fmt::{Debug, Display},
7 ops::Deref,
8 path::PathBuf,
9 rc::Rc,
10};
6#[cfg(feature = "dump")]11#[cfg(feature = "dump")]
7use structdump_derive::Codegen;12use structdump_derive::Codegen;
68 BitNot,73 BitNot,
69 Not,74 Not,
70}75}
76impl Display for UnaryOpType {
77 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
78 use UnaryOpType::*;
79 write!(
80 f,
81 "{}",
82 match self {
83 Plus => "+",
84 Minus => "-",
85 BitNot => "~",
86 Not => "!",
87 }
88 )
89 }
90}
7191
72#[cfg_attr(feature = "dump", derive(Codegen))]92#[cfg_attr(feature = "dump", derive(Codegen))]
73#[cfg_attr(feature = "serialize", derive(Serialize))]93#[cfg_attr(feature = "serialize", derive(Serialize))]
95 And,115 And,
96 Or,116 Or,
97}117}
118impl Display for BinaryOpType {
119 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
120 use BinaryOpType::*;
121 write!(
122 f,
123 "{}",
124 match self {
125 Mul => "*",
126 Div => "/",
127 Add => "+",
128 Sub => "-",
129 Lhs => "<<",
130 Rhs => ">>",
131 Lt => "<",
132 Gt => ">",
133 Lte => "<=",
134 Gte => ">=",
135 BitAnd => "&",
136 BitOr => "|",
137 BitXor => "^",
138 And => "&&",
139 Or => "||",
140 }
141 )
142 }
143}
98144
99/// name, default value145/// name, default value
100#[cfg_attr(feature = "dump", derive(Codegen))]146#[cfg_attr(feature = "dump", derive(Codegen))]