| 4138 | |
| 4139 | |
| 4140 | class AsBoolean(WrapsColumnExpression[bool], UnaryExpression[bool]): |
| 4141 | inherit_cache = True |
| 4142 | |
| 4143 | def __init__(self, element, operator, negate): |
| 4144 | self.element = element |
| 4145 | self.type = type_api.BOOLEANTYPE |
| 4146 | self.operator = operator |
| 4147 | self.negate = negate |
| 4148 | self.modifier = None |
| 4149 | self._is_implicitly_boolean = element._is_implicitly_boolean |
| 4150 | |
| 4151 | @property |
| 4152 | def wrapped_column_expression(self): |
| 4153 | return self.element |
| 4154 | |
| 4155 | def self_group(self, against: Optional[OperatorType] = None) -> Self: |
| 4156 | return self |
| 4157 | |
| 4158 | def _negate(self): |
| 4159 | if isinstance(self.element, (True_, False_)): |
| 4160 | return self.element._negate() |
| 4161 | else: |
| 4162 | return AsBoolean(self.element, self.negate, self.operator) |
| 4163 | |
| 4164 | |
| 4165 | class BinaryExpression(OperatorExpression[_T]): |
no outgoing calls
no test coverage detected