| 377 | self.emit_line(f"{target} = {self.c_undefined_value(rtype)};") |
| 378 | |
| 379 | def c_undefined_value(self, rtype: RType) -> str: |
| 380 | if not rtype.is_unboxed: |
| 381 | return "NULL" |
| 382 | elif isinstance(rtype, RPrimitive): |
| 383 | return rtype.c_undefined |
| 384 | elif isinstance(rtype, RTuple): |
| 385 | return self.tuple_undefined_value(rtype) |
| 386 | elif isinstance(rtype, RVec): |
| 387 | return f"({self.ctype(rtype)}) {{ -1, NULL }}" |
| 388 | assert False, rtype |
| 389 | |
| 390 | def c_error_value(self, rtype: RType) -> str: |
| 391 | return self.c_undefined_value(rtype) |