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]