Issue #11823: disassembly now shows argument counts on calls with keyword args

This commit is contained in:
Alexander Belopolsky 2012-06-07 14:28:14 -04:00
parent 7bda265662
commit 74482201b8
4 changed files with 17 additions and 4 deletions

View file

@ -190,6 +190,9 @@ def disassemble(co, lasti=-1):
if free is None:
free = co.co_cellvars + co.co_freevars
print('(' + free[oparg] + ')', end=' ')
elif op in hasnargs:
print('(%d positional, %d keyword pair)'
% (code[i-2], code[i-1]), end=' ')
print()
def _disassemble_bytes(code, lasti=-1, varnames=None, names=None,
@ -229,6 +232,9 @@ def _disassemble_bytes(code, lasti=-1, varnames=None, names=None,
print('(%d)' % oparg, end=' ')
elif op in hascompare:
print('(' + cmp_op[oparg] + ')', end=' ')
elif op in hasnargs:
print('(%d positional, %d keyword pair)'
% (code[i-2], code[i-1]), end=' ')
print()
def _disassemble_str(source):