Nick Coghlan added the comment:
If we used the names from inspect.Parameter.kind
(https://docs.python.org/3/library/inspect.html#inspect.Parameter.kind) these
would become:
* BUILD_VAR_POSITIONAL
* BUILD_VAR_KEYWORD
which would be 20 and 17 letters long, respectively.
I think that would also make the disassembled bytecode more self-explanatory:
>>> dis.dis('f(a, b, *args, x=x, y=y, **kw)')
1 0 LOAD_NAME 0 (f)
2 LOAD_NAME 1 (a)
4 LOAD_NAME 2 (b)
6 BUILD_TUPLE 2
8 LOAD_NAME 3 (args)
10 BUILD_VAR_POSITIONAL 2
12 LOAD_NAME 4 (x)
14 LOAD_NAME 5 (y)
16 LOAD_CONST 0 (('x', 'y'))
18 BUILD_CONST_KEY_MAP 2
20 LOAD_NAME 6 (kw)
22 BUILD_VAR_KEYWORD 2
24 CALL_FUNCTION_EX 1
26 RETURN_VALUE
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue30076>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com