From 47977b3372f4a335a33713c5dd585f11ace7f195 Mon Sep 17 00:00:00 2001 From: rocky Date: Sun, 14 May 2017 11:41:12 -0400 Subject: [PATCH] Python 3.5 kw arg can be an expr Fixes Issue #95 --- test/bytecode_3.5/04_CALL_FUNCTION_VAR_KW.pyc | Bin 0 -> 325 bytes .../bug35/04_CALL_FUNCTION_VAR_KW.py | 7 +++++++ uncompyle6/parsers/parse3.py | 4 +++- 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 test/bytecode_3.5/04_CALL_FUNCTION_VAR_KW.pyc create mode 100644 test/simple_source/bug35/04_CALL_FUNCTION_VAR_KW.py diff --git a/test/bytecode_3.5/04_CALL_FUNCTION_VAR_KW.pyc b/test/bytecode_3.5/04_CALL_FUNCTION_VAR_KW.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b9d565a1e5e578a05e87b10a603050dc1de75637 GIT binary patch literal 325 zcmWgR<>gW>mWbTPz`*brh~a=4$Z`PUVqqYW0z`}qDNGD4j0{m=Zm=e^Uosm|3Iy1p z*cnI{D*=fbW`-J8h8jkO8Wxbo8YYGs28JvKhCU|7S~i9nHilqLCcj&3#mO0|xrv&L zx7f1F6N}P|HQ8^m6sP8-MRDY&mL#SmmLwK20!@oz4M|MONxj7aQge$XFEKau7HbJe zXeC1t$nIZy#hJMUIjQl*`K3k4srpH!>Bgq|1}5>&jy^u|ZlQk8A)fwz@nMcZ@!sKj z1(mnBO7dYgFoE360VEh0nHkv_MVX2?fox4iFa> 8) & 0xff + args_kw = (token.attr >> 8) & 0xff + # args_ann = (token.attr >> 16) & 0x7FFF # Additional exprs for * and ** args: # 0 if neither @@ -498,7 +500,7 @@ class Python3Parser(PythonParser): # first LOAD_FAST, below are located. # Python 3.6+ replaces CALL_FUNCTION_VAR_KW with CALL_FUNCTION_EX if opname.endswith('KW'): - kw = 'LOAD_FAST ' + kw = 'expr ' else: kw = '' rule = ('call_function ::= expr expr ' +