]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-43770: Refactor type_new() function (GH-25325)
authorVictor Stinner <vstinner@python.org>
Sat, 10 Apr 2021 21:15:32 +0000 (23:15 +0200)
committerGitHub <noreply@github.com>
Sat, 10 Apr 2021 21:15:32 +0000 (23:15 +0200)
commitecf14e6557c6e4f7af9c0d6460d31fe121c22553
tree0a599aea6b7eee6c2118d6f540945f49a4372d6c
parent75a06f067bd0a2687312e5f8e78f9075be76ad3a
bpo-43770: Refactor type_new() function (GH-25325)

* Split type_new() into into many small functions.
* Add type_new_ctx structure to pass variables between subfunctions.
* Initialize some PyTypeObject and PyHeapTypeObject members earlier
  in type_new_alloc().
* Rename variables to more specific names.
* Add "__weakref__" identifier for type_new_visit_slots().
* Factorize code to convert a method to a classmethod
  (__init_subclass__ and __class_getitem__).
* Add braces to respect PEP 7.
* Move variable declarations where the variables are initialized.
Objects/dictobject.c
Objects/typeobject.c