def evaluate_condition(condition_expr: FuncExpr, condition_args: Dict[str, LiteralType], messages: Optional[MessageBuilder] ) -> bool: condition_body = condition_expr.expr() evaluator = Evaluator(condition_args) result = condition_body.accept(evaluator) assert isinstance(result, IntExpr) return bool(result.value)
def visit_func_expr(self, expr: FuncExpr) -> Expression: body = expr.expr() return body.accept(self)