MCPcopy Index your code
hub / github.com/apache/fory / _write_field_value

Method _write_field_value

python/pyfory/struct.py:523–545  ·  view source on GitHub ↗
(self, write_context, serializer, field_value, is_nullable, is_dynamic, is_basic, is_tracking_ref)

Source from the content-addressed store, hash-verified

521 return [(field_name, default_factory) for field_name, default_factory in self._default_values_factory.items() if field_name in missing_fields]
522
523 def _write_field_value(self, write_context, serializer, field_value, is_nullable, is_dynamic, is_basic, is_tracking_ref):
524 if is_basic:
525 if is_nullable:
526 if field_value is None:
527 write_context.write_int8(NULL_FLAG)
528 else:
529 write_context.write_int8(NOT_NULL_VALUE_FLAG)
530 serializer.write(write_context, field_value)
531 else:
532 serializer.write(write_context, field_value)
533 return
534 if is_tracking_ref:
535 write_context.write_ref(field_value, serializer=None if is_dynamic else serializer)
536 return
537 if is_nullable:
538 if field_value is None:
539 write_context.write_int8(NULL_FLAG)
540 return
541 write_context.write_int8(NOT_NULL_VALUE_FLAG)
542 if is_dynamic:
543 write_context.write_no_ref(field_value)
544 else:
545 write_context.write_no_ref(field_value, serializer=serializer)
546
547 def _read_field_value(
548 self,

Callers 1

writeMethod · 0.95

Calls 4

write_refMethod · 0.80
write_no_refMethod · 0.80
writeMethod · 0.65
write_int8Method · 0.45

Tested by

no test coverage detected