(self, write_context, value: slice)
| 519 | """Pure-Python slice serializer used when Cython serialization is disabled.""" |
| 520 | |
| 521 | def write(self, write_context, value: slice): |
| 522 | buffer = write_context.buffer |
| 523 | start, stop, step = value.start, value.stop, value.step |
| 524 | if type(start) is int: |
| 525 | # TODO support varint128 |
| 526 | buffer.write_int16(NOT_NULL_INT64_FLAG) |
| 527 | buffer.write_varint64(start) |
| 528 | else: |
| 529 | if start is None: |
| 530 | buffer.write_int8(NULL_FLAG) |
| 531 | else: |
| 532 | buffer.write_int8(NOT_NULL_VALUE_FLAG) |
| 533 | write_context.write_no_ref(start) |
| 534 | if type(stop) is int: |
| 535 | # TODO support varint128 |
| 536 | buffer.write_int16(NOT_NULL_INT64_FLAG) |
| 537 | buffer.write_varint64(stop) |
| 538 | else: |
| 539 | if stop is None: |
| 540 | buffer.write_int8(NULL_FLAG) |
| 541 | else: |
| 542 | buffer.write_int8(NOT_NULL_VALUE_FLAG) |
| 543 | write_context.write_no_ref(stop) |
| 544 | if type(step) is int: |
| 545 | # TODO support varint128 |
| 546 | buffer.write_int16(NOT_NULL_INT64_FLAG) |
| 547 | buffer.write_varint64(step) |
| 548 | else: |
| 549 | if step is None: |
| 550 | buffer.write_int8(NULL_FLAG) |
| 551 | else: |
| 552 | buffer.write_int8(NOT_NULL_VALUE_FLAG) |
| 553 | write_context.write_no_ref(step) |
| 554 | |
| 555 | def read(self, read_context): |
| 556 | buffer = read_context.buffer |
nothing calls this directly
no test coverage detected