(self, write_context: Buffer, value)
| 595 | setattr(obj, interned_name, field_value) |
| 596 | |
| 597 | def write(self, write_context: Buffer, value): |
| 598 | if not self.type_resolver.compatible: |
| 599 | write_context.write_int32(self._hash) |
| 600 | value_dict = value.__dict__ if not self._has_slots else None |
| 601 | if value_dict is not None: |
| 602 | if self.type_resolver.compatible: |
| 603 | for index, field_name in enumerate(self._field_names): |
| 604 | interned_name = self._field_name_interned[field_name] |
| 605 | field_value = value_dict.get(interned_name) |
| 606 | serializer = self._serializers[index] |
| 607 | is_nullable = self._nullable_fields.get(field_name, False) |
| 608 | is_dynamic = self._dynamic_fields.get(field_name, False) |
| 609 | is_tracking_ref = self._ref_fields.get(field_name, False) |
| 610 | is_basic = self._basic_field_flags[index] |
| 611 | self._write_field_value(write_context, serializer, field_value, is_nullable, is_dynamic, is_basic, is_tracking_ref) |
| 612 | else: |
| 613 | for index, field_name in enumerate(self._field_names): |
| 614 | interned_name = self._field_name_interned[field_name] |
| 615 | field_value = value_dict[interned_name] |
| 616 | serializer = self._serializers[index] |
| 617 | is_nullable = self._nullable_fields.get(field_name, False) |
| 618 | is_dynamic = self._dynamic_fields.get(field_name, False) |
| 619 | is_tracking_ref = self._ref_fields.get(field_name, False) |
| 620 | is_basic = self._basic_field_flags[index] |
| 621 | self._write_field_value(write_context, serializer, field_value, is_nullable, is_dynamic, is_basic, is_tracking_ref) |
| 622 | else: |
| 623 | if self.type_resolver.compatible: |
| 624 | for index, field_name in enumerate(self._field_names): |
| 625 | interned_name = self._field_name_interned[field_name] |
| 626 | field_value = getattr(value, interned_name, None) |
| 627 | serializer = self._serializers[index] |
| 628 | is_nullable = self._nullable_fields.get(field_name, False) |
| 629 | is_dynamic = self._dynamic_fields.get(field_name, False) |
| 630 | is_tracking_ref = self._ref_fields.get(field_name, False) |
| 631 | is_basic = self._basic_field_flags[index] |
| 632 | self._write_field_value(write_context, serializer, field_value, is_nullable, is_dynamic, is_basic, is_tracking_ref) |
| 633 | else: |
| 634 | for index, field_name in enumerate(self._field_names): |
| 635 | interned_name = self._field_name_interned[field_name] |
| 636 | field_value = getattr(value, interned_name) |
| 637 | serializer = self._serializers[index] |
| 638 | is_nullable = self._nullable_fields.get(field_name, False) |
| 639 | is_dynamic = self._dynamic_fields.get(field_name, False) |
| 640 | is_tracking_ref = self._ref_fields.get(field_name, False) |
| 641 | is_basic = self._basic_field_flags[index] |
| 642 | self._write_field_value(write_context, serializer, field_value, is_nullable, is_dynamic, is_basic, is_tracking_ref) |
| 643 | write_context.try_flush() |
| 644 | |
| 645 | def read(self, read_context): |
| 646 | if read_context.policy is not DEFAULT_POLICY: |
nothing calls this directly
no test coverage detected