mirror of
https://github.com/python/cpython.git
synced 2025-08-03 00:23:06 +00:00
GH-93429: Document LOAD_METHOD
removal (GH-93803)
This commit is contained in:
parent
a338e106b6
commit
38a7f787d8
2 changed files with 23 additions and 13 deletions
|
@ -887,7 +887,20 @@ iterations of the loop.
|
|||
|
||||
.. opcode:: LOAD_ATTR (namei)
|
||||
|
||||
Replaces TOS with ``getattr(TOS, co_names[namei])``.
|
||||
If the low bit of ``namei`` is not set, this replaces TOS with
|
||||
``getattr(TOS, co_names[namei>>1])``.
|
||||
|
||||
If the low bit of ``namei`` is set, this will attempt to load a method named
|
||||
``co_names[namei>>1]`` from the TOS object. TOS is popped.
|
||||
This bytecode distinguishes two cases: if TOS has a method with the correct
|
||||
name, the bytecode pushes the unbound method and TOS. TOS will be used as
|
||||
the first argument (``self``) by :opcode:`CALL` when calling the
|
||||
unbound method. Otherwise, ``NULL`` and the object return by the attribute
|
||||
lookup are pushed.
|
||||
|
||||
.. versionchanged:: 3.11
|
||||
If the low bit of ``namei`` is set, then a ``NULL`` or ``self`` is
|
||||
pushed to the stack before the attribute or unbound method respectively.
|
||||
|
||||
|
||||
.. opcode:: COMPARE_OP (opname)
|
||||
|
@ -1189,18 +1202,6 @@ iterations of the loop.
|
|||
.. versionadded:: 3.6
|
||||
|
||||
|
||||
.. opcode:: LOAD_METHOD (namei)
|
||||
|
||||
Loads a method named ``co_names[namei]`` from the TOS object. TOS is popped.
|
||||
This bytecode distinguishes two cases: if TOS has a method with the correct
|
||||
name, the bytecode pushes the unbound method and TOS. TOS will be used as
|
||||
the first argument (``self``) by :opcode:`CALL` when calling the
|
||||
unbound method. Otherwise, ``NULL`` and the object return by the attribute
|
||||
lookup are pushed.
|
||||
|
||||
.. versionadded:: 3.7
|
||||
|
||||
|
||||
.. opcode:: PUSH_NULL
|
||||
|
||||
Pushes a ``NULL`` to the stack.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue