vrl/compiler/expression/
group.rs

1use std::fmt;
2
3use crate::compiler::state::{TypeInfo, TypeState};
4use crate::compiler::{
5    Context, Expression,
6    expression::{Expr, Resolved},
7};
8
9#[derive(Debug, Clone, PartialEq)]
10pub struct Group {
11    inner: Box<Expr>,
12}
13
14impl Group {
15    pub fn new(inner: Expr) -> Self {
16        Self {
17            inner: Box::new(inner),
18        }
19    }
20}
21
22impl Expression for Group {
23    fn resolve(&self, ctx: &mut Context) -> Resolved {
24        self.inner.resolve(ctx)
25    }
26
27    fn type_info(&self, state: &TypeState) -> TypeInfo {
28        self.inner.type_info(state)
29    }
30}
31
32impl fmt::Display for Group {
33    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
34        write!(f, "({})", self.inner)
35    }
36}