| 306 | return self.ref_writer.write_null_flag(self.buffer, obj) |
| 307 | |
| 308 | def write_ref(self, obj, typeinfo=None, serializer=None): |
| 309 | if serializer is None and typeinfo is not None: |
| 310 | serializer = typeinfo.serializer |
| 311 | if serializer is None or serializer.need_to_write_ref: |
| 312 | if self.ref_writer.write_ref_or_null(self.buffer, obj): |
| 313 | return |
| 314 | self.write_non_ref(obj, serializer=serializer, typeinfo=typeinfo) |
| 315 | return |
| 316 | if obj is None: |
| 317 | self.buffer.write_int8(NULL_FLAG) |
| 318 | return |
| 319 | self.buffer.write_int8(NOT_NULL_VALUE_FLAG) |
| 320 | self.write_non_ref(obj, serializer=serializer, typeinfo=typeinfo) |
| 321 | |
| 322 | def write_non_ref(self, obj, serializer=None, typeinfo=None): |
| 323 | if serializer is not None: |