From d99793ca2fd86a85fb141068bd2d5740745a2af2 Mon Sep 17 00:00:00 2001 From: alpaylan Date: Fri, 11 Jul 2025 11:08:35 -0400 Subject: [PATCH] generate parenthesizes expressions by default --- simulator/model/query/predicate.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/simulator/model/query/predicate.rs b/simulator/model/query/predicate.rs index d4ae8ed94..3d55cf061 100644 --- a/simulator/model/query/predicate.rs +++ b/simulator/model/query/predicate.rs @@ -28,7 +28,10 @@ impl Predicate { } pub(crate) fn not(predicate: Predicate) -> Self { - let expr = ast::Expr::Unary(ast::UnaryOperator::Not, Box::new(predicate.0)); + let expr = ast::Expr::Parenthesized(vec![ast::Expr::Unary( + ast::UnaryOperator::Not, + Box::new(predicate.0), + )]); Self(expr) } @@ -38,11 +41,11 @@ impl Predicate { } else if predicates.len() == 1 { predicates.into_iter().next().unwrap() } else { - let expr = ast::Expr::Binary( + let expr = ast::Expr::Parenthesized(vec![ast::Expr::Binary( Box::new(predicates[0].0.clone()), ast::Operator::And, Box::new(Self::and(predicates[1..].to_vec()).0), - ); + )]); Self(expr) } }