summaryrefslogtreecommitdiffstats
path: root/Doc/library
diff options
context:
space:
mode:
authorCarl Meyer <carl@oddbird.net>2023-06-16 17:36:59 (GMT)
committerGitHub <noreply@github.com>2023-06-16 17:36:59 (GMT)
commitb356a4749acb3e6f8c50e8abeb7b2d2b267738d7 (patch)
treeb65b134d80aa5678817f7561a9a021da3ad12010 /Doc/library
parent957a974d4fc1575787e4a29a399a47520d6df6d3 (diff)
downloadcpython-b356a4749acb3e6f8c50e8abeb7b2d2b267738d7.zip
cpython-b356a4749acb3e6f8c50e8abeb7b2d2b267738d7.tar.gz
cpython-b356a4749acb3e6f8c50e8abeb7b2d2b267738d7.tar.bz2
gh-105678: document SET_FUNCTION_ATTRIBUTE (#105843)
Diffstat (limited to 'Doc/library')
-rw-r--r--Doc/library/dis.rst29
1 files changed, 20 insertions, 9 deletions
diff --git a/Doc/library/dis.rst b/Doc/library/dis.rst
index c6f08af..1caf3c0 100644
--- a/Doc/library/dis.rst
+++ b/Doc/library/dis.rst
@@ -1421,23 +1421,34 @@ iterations of the loop.
.. versionadded:: 3.11
-.. opcode:: MAKE_FUNCTION (flags)
+.. opcode:: MAKE_FUNCTION
- Pushes a new function object on the stack. From bottom to top, the consumed
- stack must consist of values if the argument carries a specified flag value
+ Pushes a new function object on the stack built from the code object at ``STACK[1]``.
+
+ .. versionchanged:: 3.10
+ Flag value ``0x04`` is a tuple of strings instead of dictionary
+
+ .. versionchanged:: 3.11
+ Qualified name at ``STACK[-1]`` was removed.
+
+ .. versionchanged:: 3.13
+ Extra function attributes on the stack, signaled by oparg flags, were
+ removed. They now use :opcode:`SET_FUNCTION_ATTRIBUTE`.
+
+
+.. opcode:: SET_FUNCTION_ATTRIBUTE (flag)
+
+ Sets an attribute on a function object. Expects the function at ``STACK[-1]``
+ and the attribute value to set at ``STACK[-2]``; consumes both and leaves the
+ function at ``STACK[-1]``. The flag determines which attribute to set:
* ``0x01`` a tuple of default values for positional-only and
positional-or-keyword parameters in positional order
* ``0x02`` a dictionary of keyword-only parameters' default values
* ``0x04`` a tuple of strings containing parameters' annotations
* ``0x08`` a tuple containing cells for free variables, making a closure
- * the code associated with the function (at ``STACK[-1]``)
-
- .. versionchanged:: 3.10
- Flag value ``0x04`` is a tuple of strings instead of dictionary
- .. versionchanged:: 3.11
- Qualified name at ``STACK[-1]`` was removed.
+ .. versionadded:: 3.13
.. opcode:: BUILD_SLICE (argc)