Main dispatch method. The name of this method is somewhat misleading: all types get dispatched here.
(self, obj, name=None, pack=struct.pack)
| 1439 | write(pickle.POP) |
| 1440 | |
| 1441 | def save_global(self, obj, name=None, pack=struct.pack): |
| 1442 | """Main dispatch method. |
| 1443 | |
| 1444 | The name of this method is somewhat misleading: all types get |
| 1445 | dispatched here. |
| 1446 | """ |
| 1447 | if obj is type(None): # noqa |
| 1448 | return self.save_reduce(type, (None,), obj=obj) |
| 1449 | elif obj is type(Ellipsis): |
| 1450 | return self.save_reduce(type, (Ellipsis,), obj=obj) |
| 1451 | elif obj is type(NotImplemented): |
| 1452 | return self.save_reduce(type, (NotImplemented,), obj=obj) |
| 1453 | elif obj in _BUILTIN_TYPE_NAMES: |
| 1454 | return self.save_reduce( |
| 1455 | _builtin_type, (_BUILTIN_TYPE_NAMES[obj],), obj=obj |
| 1456 | ) |
| 1457 | |
| 1458 | if name is not None: |
| 1459 | super().save_global(obj, name=name) |
| 1460 | elif not _should_pickle_by_reference(obj, name=name): |
| 1461 | self._save_reduce_pickle5(*_dynamic_class_reduce(obj), obj=obj) |
| 1462 | else: |
| 1463 | super().save_global(obj, name=name) |
| 1464 | |
| 1465 | dispatch[type] = save_global |
| 1466 |
no test coverage detected