(self, clause)
| 159 | ) |
| 160 | |
| 161 | def visit_binary(self, clause): |
| 162 | eval_left = self.process(clause.left) |
| 163 | eval_right = self.process(clause.right) |
| 164 | |
| 165 | dispatch = f"visit_{clause.operator.__name__.rstrip('_')}_binary_op" |
| 166 | meth = getattr(self, dispatch, None) |
| 167 | if meth: |
| 168 | return meth(clause.operator, eval_left, eval_right, clause) |
| 169 | else: |
| 170 | raise UnevaluatableError( |
| 171 | f"Cannot evaluate {type(clause).__name__} with " |
| 172 | f"operator {clause.operator}" |
| 173 | ) |
| 174 | |
| 175 | def visit_or_clauselist_op(self, operator, evaluators, clause): |
| 176 | def evaluate(obj): |
nothing calls this directly
no test coverage detected