summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2013-10-12 16:41:18 (GMT)
committerGeorg Brandl <georg@python.org>2013-10-12 16:41:18 (GMT)
commitc96ef1f0eddb93436038b7a35c3ae6b13824641a (patch)
treec996f7511023dbb23113ddf6a517cd8b117d4302
parent57f936ecdea75cfa1a7edee72fbca41b7d814796 (diff)
downloadcpython-c96ef1f0eddb93436038b7a35c3ae6b13824641a.zip
cpython-c96ef1f0eddb93436038b7a35c3ae6b13824641a.tar.gz
cpython-c96ef1f0eddb93436038b7a35c3ae6b13824641a.tar.bz2
Closes #13026: fix documentation of MAKE_FUNCTION for 3.x.
-rw-r--r--Doc/library/dis.rst15
1 files changed, 11 insertions, 4 deletions
diff --git a/Doc/library/dis.rst b/Doc/library/dis.rst
index 4339f55..ec7112d 100644
--- a/Doc/library/dis.rst
+++ b/Doc/library/dis.rst
@@ -754,10 +754,17 @@ the more significant byte last.
.. opcode:: MAKE_FUNCTION (argc)
- Pushes a new function object on the stack. TOS is the
- :term:`qualified name` of the function; TOS1 is the code associated with
- the function. The function object is defined to have *argc* default parameters,
- which are found below TOS1.
+ Pushes a new function object on the stack. From bottom to top, the consumed
+ stack must consist of
+
+ * ``argc & 0xFF`` default argument objects in positional order
+ * ``(argc >> 8) & 0xFF`` pairs of name and default argument, with the name
+ just below the object on the stack, for keyword-only parameters
+ * ``(argc >> 16) & 0x7FFF`` parameter annotation objects
+ * a tuple listing the parameter names for the annotations (only if there are
+ ony annotation objects)
+ * the code associated with the function (at TOS1)
+ * the :term:`qualified name` of the function (at TOS)
.. opcode:: MAKE_CLOSURE (argc)