nushell/src/parser/hir/binary.rs

27 lines
683 B
Rust
Raw Normal View History

2019-06-22 05:43:37 +02:00
use crate::parser::{hir::Expression, Operator, Spanned};
2019-07-24 00:22:11 +02:00
use crate::prelude::*;
2019-06-22 05:43:37 +02:00
use derive_new::new;
use getset::Getters;
2019-07-24 00:22:11 +02:00
use serde_derive::{Deserialize, Serialize};
use std::fmt;
2019-06-22 05:43:37 +02:00
2019-07-24 00:22:11 +02:00
#[derive(
Debug, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Getters, Serialize, Deserialize, new,
)]
2019-06-22 05:43:37 +02:00
#[get = "crate"]
pub struct Binary {
left: Expression,
op: Spanned<Operator>,
right: Expression,
}
2019-07-24 00:22:11 +02:00
impl ToDebug for Binary {
fn fmt_debug(&self, f: &mut fmt::Formatter, source: &str) -> fmt::Result {
write!(f, "{}", self.left.debug(source))?;
write!(f, " {} ", self.op.debug(source))?;
write!(f, "{}", self.right.debug(source))?;
Ok(())
}
}