From f07c9c6dcf53bee444e5acd36f42e4d7c5a7933f Mon Sep 17 00:00:00 2001 From: rocky Date: Tue, 5 Dec 2017 08:32:31 -0500 Subject: [PATCH] Merge branch 'master' into python-2.4 --- test/bytecode_2.1/02_def.pyc | Bin 0 -> 950 bytes test/bytecode_2.2/02_def.pyc | Bin 0 -> 950 bytes test/bytecode_2.3/02_def.pyc | Bin 802 -> 963 bytes test/bytecode_2.4/02_def.pyc | Bin 642 -> 754 bytes test/bytecode_2.5/02_def.pyc | Bin 759 -> 893 bytes test/bytecode_2.6/02_def.pyc | Bin 759 -> 893 bytes test/bytecode_2.7/02_def.pyc | Bin 0 -> 893 bytes test/bytecode_3.2/02_def.pyc | Bin 810 -> 945 bytes test/bytecode_3.3/02_def.pyc | Bin 864 -> 1016 bytes test/bytecode_3.4/02_def.pyc | Bin 626 -> 733 bytes test/bytecode_3.5/02_def.pyc | Bin 628 -> 733 bytes test/simple_source/def/02_def.py | 6 ++++++ uncompyle6/parsers/parse26.py | 2 +- uncompyle6/semantics/make_function.py | 3 +-- 14 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 test/bytecode_2.1/02_def.pyc create mode 100644 test/bytecode_2.2/02_def.pyc create mode 100644 test/bytecode_2.7/02_def.pyc diff --git a/test/bytecode_2.1/02_def.pyc b/test/bytecode_2.1/02_def.pyc new file mode 100644 index 0000000000000000000000000000000000000000..51bfe0948516892522823a5098182ac020b865ba GIT binary patch literal 950 zcmcJNJ#WG=5QbmJfrgKUg-+co)S*CN?>}H+saOz=gM|8pFsSWNd12^(?VsrDO9Kk+ zP^30a?tG5#9-r?nKThj!?-!F4d;)&7XQqZt-EaE3+kv-^>>#yQm*>BN^&*G)zFswbFb1;u}?yM#psn{BuAXq Scjz@6+uwgnH^Y|ZsD1)gk)PcF literal 0 HcmV?d00001 diff --git a/test/bytecode_2.2/02_def.pyc b/test/bytecode_2.2/02_def.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ccd6f1cb59d84051a44a8a89d551c31244fb6c8a GIT binary patch literal 950 zcmcJN&rZTX5XQgl7AzFY1y9}$7X=D;-++r3!-ZfM65>C?LezuV3kP4;cktV33Q|p! zM7!*4|0XD#h^AJYKT){;!0gT2*VHCi{5{43L zxJ1H=gdtoDrYeaQm?K=ZBNi8wf`+Yo6ic!m_)#$&wrNl@_LT4J{C;sa9oxtCGMjeH zbk^ynW4epQi}gSL+*Oc?R+)ky1%dxTe2L&;)|<%=_B&25EI9KD^GmP@uJ(tpG%8@3 zrl6gu7_RY!qqm|&+Kt%kP=Wn;%M66cSdJ=zYyJ~+kZhTd!y_}H8g`I75$3lC7;?$& zld%U#tTAP_e#j=P)zY>K>abn)dzUv-?s~aPbJx$^!0zRL%GzJo-K$Z~A}a6kA3M%> R=p`H5?|)M_!lve^egGf2pW*-j literal 0 HcmV?d00001 diff --git a/test/bytecode_2.3/02_def.pyc b/test/bytecode_2.3/02_def.pyc index 8480c67f198cf94727442775b50b987a7d50a5c4..ba1a28764adc8e2cbe32728a75330f53ba9b7082 100644 GIT binary patch delta 197 zcmZ3)c9>n-`V%i#ZHHP^G6NJa0ci&yE_R+MZNt;Tz!1gCkiyOotiiD{%8bbztd0>V z55nFcbsRtN_+J+}sgB{3*NKRhQsIakzmx%R^K diff --git a/test/bytecode_2.4/02_def.pyc b/test/bytecode_2.4/02_def.pyc index 1e44dda520b0581f3f664997bbbf4999793cb510..ed8fbab09174c1bf222ae231bf2470b82dde06d0 100644 GIT binary patch delta 179 zcmZo-{lqGr`-zvUwnHr{nE?uzfV2Y;7duasw&7`EV2EO6NMUCP*5KF}b(E0}td4Q= zX-0(vMxd$^79f#bo>HsOk8f-u+2&6ZN k8AN~#2x12j93X-VNI;ZuO?F^1;{)+InK@Z_n1PTD0IA0r0{{R3 delta 94 zcmeyw+QcfI`-zw9eRE}4G6NJa0ci&yF1DH|ZNnU_!M-v1D5IjE1}ji3h!I3Eg9sK7 b!44ugfP@C?NWT>uU! diff --git a/test/bytecode_2.5/02_def.pyc b/test/bytecode_2.5/02_def.pyc index cd98701ca37892b2a4013d8e962efb3fa91f52fe..fcd3d2e78af24895ba121c2deeaa161ee7ecc16a 100644 GIT binary patch delta 138 zcmey)`j<_5^Cw=e+77j-WCkc;0@4mZTivfgy^OA%&eGSc79@lpzxvSRLbJ z872i@Mxd$^79f#bo>Dy7pGjMq6Ua#`%}Y)!DJd!z0T}`^je*fmgKcsjlMGW3=frxW V$v2sV__%<=oXngoJj_7I1^{Jq83q6V delta 81 zcmey%_MKIF^Cw=e+_ysE$qZ1y1f(5+xY%livfgy^OA%&eGSc79@lpzxvSRLbJ z872i@Mxd$^79f#bo>Dy7pGjMq6Ua#`%}Y)!DJd!z0T}`^je*fmgKcsjlMGW3=fryB V$+wsU`M7|>oXngoJj_7I1^{&*86^M! delta 81 zcmey%_MKJw;wN6N_sx}I$qZ1y1f(5+xY%lcAu%F#aJMW~u~Vs{rB$5>7}z@SfB6I4d*nkx zL^Mh6^7`Vt$M!{ioeVxcFH%G0)#LX)n|okqiS|S(3r~bcwntXc-lLQSKfY)sIuPxX z4P|mbwolU};yQJ8j|V91{GaO61d&O?j($0J&M~)KZ&%sOZHk@AhBjLaN8=g4F1PPF zR{AzVzJnysKv&jE!Gs)c-T)6{U18BBYZP~N98Fi~%_)kPePmhpu@x$P1n>FPx(>LQQx?UGndkY= yo$;WgPLhxZnvFEpp=DPR>tl$#1|#a<-zMUm+x5m4tLzTzbpv*>iv457clZtCFodxH literal 0 HcmV?d00001 diff --git a/test/bytecode_3.2/02_def.pyc b/test/bytecode_3.2/02_def.pyc index aab6b55b1888642e55042b25355a9a9128e56085..9677152a6ce1566bbaad6ff6aa5d528c97d6df4e 100644 GIT binary patch delta 266 zcmZ3*wvk;vhliJ|wnHr{nE?qf0oe{fT}e-vddG7 zH9#uBL@CTpX-=R}T4`Q#Vo6C+u?Ua@HOEhbZSqzoHKkG%1qc&RjM3%e0_x;s=49bv H20}Ifc%Lkc delta 189 zcmdnUzKTsghliKzeRE}4G6ND|0fS&&39!AB9C%ln( zlPwqn5Znp`Q*p8;Q#cZr--HijCdhCGMn4VK$$HFcVj3VGf+&UCA|uNIl(EUpPbtkw TwPOUbi$MaM%$zJd%sk8hR1O{e diff --git a/test/bytecode_3.3/02_def.pyc b/test/bytecode_3.3/02_def.pyc index 8d84c270848dc73eb6f1eb5bf35b1f10de2defe0..860db3c9b54f0a2a18b36874a1b7ccb2118d4670 100644 GIT binary patch delta 273 zcmaFB_Jdt{9uF^9ZHHRa4+aK?WFUqEW+2M}h>JrfDtq&%@G!J6FhsF3r0_BXYw%4h zv|*73N>0{iQk-}t2+p4D%NUN}oMw!Jaq3|V#mQHhgt_20F;329QkdM&$STePG%mY5 zrC0+MgKhF_CN(8gQG|J@hE8^7 S7Ubgsn!>}(!@|!Dglqt{s4xKl delta 172 zcmeyt{(wz+9uF@UYfNQW4Fdy1G7!T7Gmzx~#KoQymA#pRHFzf0+OWw21@!bMZ(vlM zcrOTvH#w9s9Ko$eFcl|JZZDtj{rYw~QY-Nwl5r^!0Gk4b9s TS|%kP4xlU#GY<JrfDtq&%@G!J6FhsF3r0_BXYw}Gj zG-j0ExV(vxD;cJNaq>+@Srf)vEZOBL#YK!jVFJZZDtj{rYw}F2HD;F8)8DwUiILe) alXY?*lhow3OiDZ)Kt(*vJS_ao{LBE)@(+6e diff --git a/test/simple_source/def/02_def.py b/test/simple_source/def/02_def.py index 003ad84a..09f1a002 100644 --- a/test/simple_source/def/02_def.py +++ b/test/simple_source/def/02_def.py @@ -13,3 +13,9 @@ def x3(a, b, c=5): def x4(a, b=5, **c): pass + +# Had a bug in 2.x where +# we weren't picking up **kwds when +# it was the sole parameter +def funcattrs(**kwds): + return diff --git a/uncompyle6/parsers/parse26.py b/uncompyle6/parsers/parse26.py index 2d40747c..c7e5ebc7 100644 --- a/uncompyle6/parsers/parse26.py +++ b/uncompyle6/parsers/parse26.py @@ -39,7 +39,7 @@ class Python26Parser(Python2Parser): except_handler tryelsestmt ::= SETUP_EXCEPT suite_stmts_opt POP_BLOCK - except_handler else_suite COME_FROM + except_handler else_suite come_froms _ifstmts_jump ::= c_stmts_opt JUMP_FORWARD COME_FROM POP_TOP diff --git a/uncompyle6/semantics/make_function.py b/uncompyle6/semantics/make_function.py index f8456297..4a8cc630 100644 --- a/uncompyle6/semantics/make_function.py +++ b/uncompyle6/semantics/make_function.py @@ -390,8 +390,7 @@ def make_function2(self, node, is_lambda, nested=1, codeNode=None): if code_has_star_star_arg(code): if argc > 0: self.write(', ') - if argc + kw_pairs > 0: - self.write('**%s' % code.co_varnames[argc + kw_pairs]) + self.write('**%s' % code.co_varnames[argc + kw_pairs]) if is_lambda: self.write(": ")