| 1611 | write_context.write_ref(obj) |
| 1612 | |
| 1613 | def read(self, read_context): |
| 1614 | name = read_context.read_string() |
| 1615 | if read_context.read_bool(): |
| 1616 | module = read_context.read_string() |
| 1617 | func = _resolve_validated_module_attr( |
| 1618 | read_context.policy, |
| 1619 | module, |
| 1620 | name, |
| 1621 | is_local=_is_local_qualname(module, name), |
| 1622 | ) |
| 1623 | func = _validate_function_value(read_context.policy, func, is_local=_is_local_callable(func)) |
| 1624 | else: |
| 1625 | policy = read_context.policy |
| 1626 | _authorize_callable_materialization(policy, types.MethodType, method_name=name) |
| 1627 | obj = read_context.read_ref() |
| 1628 | if policy is DEFAULT_POLICY: |
| 1629 | func = getattr(obj, name) |
| 1630 | else: |
| 1631 | func = _resolve_validated_bound_method(policy, obj, name, is_local=_is_local_receiver(obj)) |
| 1632 | return func |
| 1633 | |
| 1634 | |
| 1635 | class MethodSerializer(Serializer): |