Issue #11823: disassembly now shows argument counts on calls with keyword args
diff --git a/Lib/dis.py b/Lib/dis.py
index f64bae6..543fdc7 100644
--- a/Lib/dis.py
+++ b/Lib/dis.py
@@ -190,6 +190,9 @@
                 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 @@
                     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):