chaokunyang commented on issue #2283:
URL: https://github.com/apache/fory/issues/2283#issuecomment-3055745043

   no, it didn't use codegen for xlang:
   ```python
           if self._xlang:
               self._serializers = [None] * len(self._field_names)
               visitor = ComplexTypeVisitor(fory)
               for index, key in enumerate(self._field_names):
                   # Changed from self.fory.infer_field to infer_field
                   serializer = infer_field(key, self._type_hints[key], 
visitor, types_path=[])
                   self._serializers[index] = serializer
               self._serializers, self._field_names = 
_sort_fields(fory.type_resolver, self._field_names, self._serializers)
               self._hash = 0  # Will be computed on first xwrite/xread
               if self.fory.language == Language.PYTHON:
                   import logging  # Import here to avoid circular dependency
   
                   logger = logging.getLogger(__name__)
                   logger.warning(
                       "Type of class %s shouldn't be serialized using 
cross-language serializer",
                       clz,
                   )
           else:
               # TODO compute hash for non-xlang mode more robustly
               self._hash = len(self._field_names)
               self._generated_write_method = self._gen_write_method()
               self._generated_read_method = self._gen_read_method()
               if _ENABLE_FORY_PYTHON_JIT:
                   # don't use `__slots__`, which will make instance method 
readonly
                   self.write = self._generated_write_method
                   self.read = self._generated_read_method
   ```
   
   Xlang mode doesn't invoke `_gen_write_method/_gen_read_method`


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to