Append to ops to check for an overlapping error value.
(ops: list[Op], target: Value)
| 175 | |
| 176 | |
| 177 | def insert_overlapping_error_value_check(ops: list[Op], target: Value) -> ComparisonOp: |
| 178 | """Append to ops to check for an overlapping error value.""" |
| 179 | typ = target.type |
| 180 | if isinstance(typ, RTuple): |
| 181 | item = TupleGet(target, 0) |
| 182 | ops.append(item) |
| 183 | return insert_overlapping_error_value_check(ops, item) |
| 184 | else: |
| 185 | errvalue: Value |
| 186 | if is_float_rprimitive(target.type): |
| 187 | errvalue = Float(float(typ.c_undefined)) |
| 188 | else: |
| 189 | errvalue = Integer(int(typ.c_undefined), rtype=typ) |
| 190 | op = ComparisonOp(target, errvalue, ComparisonOp.EQ) |
| 191 | ops.append(op) |
| 192 | return op |
no test coverage detected
searching dependent graphs…