pub fn property_refs(&self) -> impl IntoIterator<Item = &PropertyRef> {
        match self {
            Expression::Equals(prop, _)
            | Expression::Greater(prop, _)
            | Expression::GreaterEqual(prop, _)
            | Expression::Less(prop, _)
            | Expression::LessEqual(prop, _)
            | Expression::Present(prop) => vec![prop],
            Expression::And(exprs) | Expression::Or(exprs) => {
                exprs.iter().flat_map(|expr| expr.property_refs()).collect()
            }
            Expression::Not(expr) => expr.property_refs().into_iter().collect(),
            Expression::Empty(_) => vec![],
        }
    }
// Fetch all property references from the expression
Fetch all property references from the expression
Fetch all property references from the expression
pub fn property_refs(&self) -> impl IntoIterator<Item = &PropertyRef> {
        match self {
            Expression::Equals(prop, _)
            | Expression::Greater(prop, _)
            | Expression::GreaterEqual(prop, _)
            | Expression::Less(prop, _)
            | Expression::LessEqual(prop, _)
            | Expression::Present(prop) => vec![prop],
            Expression::And(exprs) | Expression::Or(exprs) => {
                exprs.iter().flat_map(|expr| expr.property_refs()).collect()
            }
            Expression::Not(expr) => expr.property_refs().into_iter().collect(),
            Expression::Empty(_) => vec![],
        }
    }
pub fn property_refs ( & self ) -> impl IntoIterator < Item = & PropertyRef > { match self { Expression :: Equals ( prop , _ ) | Expression :: Greater ( prop , _ ) | Expression :: GreaterEqual ( prop , _ ) | Expression :: Less ( prop , _ ) | Expression :: LessEqual ( prop , _ ) | Expression :: Present ( prop ) => vec ! [ prop ] , Expression :: And ( exprs ) | Expression :: Or ( exprs ) => { exprs . iter ( ) . flat_map ( | expr | expr . property_refs ( ) ) . collect ( ) } Expression :: Not ( expr ) => expr . property_refs ( ) . into_iter ( ) . collect ( ) , Expression :: Empty ( _ ) => vec ! [ ] , } }
Fetch all property references from the expression
Fetch all property references from the expression
&self
&self