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

Method write_non_ref

python/pyfory/context.py:322–350  ·  view source on GitHub ↗
(self, obj, serializer=None, typeinfo=None)

Source from the content-addressed store, hash-verified

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:
324 self.increase_depth()
325 serializer.write(self, obj)
326 self.decrease_depth()
327 return
328 cls = type(obj)
329 if cls is str:
330 self.buffer.write_uint8(STRING_TYPE_ID)
331 self.buffer.write_string(obj)
332 return
333 if cls is int:
334 self.buffer.write_uint8(INT64_TYPE_ID)
335 self.buffer.write_varint64(obj)
336 return
337 if cls is bool:
338 self.buffer.write_uint8(BOOL_TYPE_ID)
339 self.buffer.write_bool(obj)
340 return
341 if cls is float:
342 self.buffer.write_uint8(FLOAT64_TYPE_ID)
343 self.buffer.write_double(obj)
344 return
345 if typeinfo is None:
346 typeinfo = self.type_resolver.get_type_info(cls)
347 self.type_resolver.write_type_info(self, typeinfo)
348 self.increase_depth()
349 typeinfo.serializer.write(self, obj)
350 self.decrease_depth()
351
352 def write_no_ref(self, obj, serializer=None, typeinfo=None):
353 self.write_non_ref(obj, serializer=serializer, typeinfo=typeinfo)

Callers 2

write_refMethod · 0.95
write_no_refMethod · 0.95

Calls 10

increase_depthMethod · 0.95
decrease_depthMethod · 0.95
write_varint64Method · 0.80
writeMethod · 0.65
write_uint8Method · 0.45
write_stringMethod · 0.45
write_boolMethod · 0.45
write_doubleMethod · 0.45
get_type_infoMethod · 0.45
write_type_infoMethod · 0.45

Tested by

no test coverage detected