(self, buffer: Buffer, write_flags: bool = True)
| 386 | self.tracking_ref_override = None |
| 387 | |
| 388 | def write(self, buffer: Buffer, write_flags: bool = True): |
| 389 | xtype_id = self.type_id |
| 390 | if write_flags: |
| 391 | xtype_id = xtype_id << 2 |
| 392 | if self.is_nullable: |
| 393 | xtype_id |= 0b10 |
| 394 | if self.is_tracking_ref: |
| 395 | xtype_id |= 0b1 |
| 396 | buffer.write_var_uint32(xtype_id) |
| 397 | else: |
| 398 | buffer.write_uint8(xtype_id) |
| 399 | # Handle nested types |
| 400 | if self.type_id in [TypeId.LIST, TypeId.SET]: |
| 401 | self.element_type.write(buffer, True) |
| 402 | elif self.type_id == TypeId.MAP: |
| 403 | self.key_type.write(buffer, True) |
| 404 | self.value_type.write(buffer, True) |
| 405 | |
| 406 | @classmethod |
| 407 | def read(cls, buffer: Buffer, resolver): |
nothing calls this directly
no test coverage detected