From ef9ccc3a8cae02d27dddc4d969ec3a6e982ad119 Mon Sep 17 00:00:00 2001 From: rocky Date: Fri, 20 Apr 2018 11:15:52 -0400 Subject: [PATCH] Fix 3.7 aysnc def testing --- Makefile | 1 + test/bytecode_3.7/04_class_kwargs.pyc | Bin 1747 -> 1747 bytes test/bytecode_3.7/04_importlist.pyc | Bin 0 -> 374 bytes test/bytecode_3.7/04_raise.pyc | Bin 0 -> 277 bytes test/bytecode_3.7/04_try_finally.pyc | Bin 0 -> 832 bytes test/bytecode_3.7_run/01_fstring.pyc | Bin 0 -> 509 bytes uncompyle6/parsers/parse36.py | 7 ++++++- uncompyle6/semantics/customize3.py | 5 +++-- 8 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 test/bytecode_3.7/04_importlist.pyc create mode 100644 test/bytecode_3.7/04_raise.pyc create mode 100644 test/bytecode_3.7/04_try_finally.pyc create mode 100644 test/bytecode_3.7_run/01_fstring.pyc diff --git a/Makefile b/Makefile index 33b13449..5fe5d565 100644 --- a/Makefile +++ b/Makefile @@ -38,6 +38,7 @@ check-3.0 check-3.1 check-3.2 check-3.6: $(MAKE) -C test $@ check-3.7: pytest + $(MAKE) -C test check #:PyPy 2.6.1 PyPy 5.0.1, or PyPy 5.8.0-beta0 # Skip for now diff --git a/test/bytecode_3.7/04_class_kwargs.pyc b/test/bytecode_3.7/04_class_kwargs.pyc index a8317b70bcb709fd9a9da3bb3958c06502555f3d..1c095ac61c3515858027ba261cd124bd9c551a77 100644 GIT binary patch delta 20 acmcc2dzqKpk(ZZ?0SF4xwr%7-!3F>|4FyL4 delta 20 acmcc2dzqKpk(ZZ?0SNwUp4iBJf(-yS;svV! diff --git a/test/bytecode_3.7/04_importlist.pyc b/test/bytecode_3.7/04_importlist.pyc new file mode 100644 index 0000000000000000000000000000000000000000..615435752330fbd33bd4747aaa46c0b37618e922 GIT binary patch literal 374 zcmZ8d!Ait15KWr2mCEi(@aD-&F7ASQ6H!EP4|adK2R}@%l zKEMOq0L&CzePmN5Qn;ncXGmO>&BM;0#c7m838S38h}>ugMA~+#Z7G@=OmI7Pooy^Vdq^vt?i`nl?zb@?H0~}xv aYdbu{AseE;g`k0td$f;bDvn439w^7+?Z29Dul(2S}taq%gKHL@}f=1v6+eCj-@j0f+{v za|YsK0U%KWR9*s9+sxR+n8E;5%j8!jQBstcoSKxFoUM?OpIWStmtUfgT9H{?qRDuR z&#|~TwWuUBKhL$OD8C3O!c>y9lA(whXx1_HFoYeT@{L-T2RQ=+T+>&B_1C#io z#LVJUy@JYHg30;01&PTe@o*d1Kn?*B42&#{9E?S*K$f2-ga#XmM6dwmZgJS;=BJeA Lq}qXXf;0jEJGeYm literal 0 HcmV?d00001 diff --git a/test/bytecode_3.7/04_try_finally.pyc b/test/bytecode_3.7/04_try_finally.pyc new file mode 100644 index 0000000000000000000000000000000000000000..50dff937720c9e0e2700f607e852afd133a183e6 GIT binary patch literal 832 zcmZ{i!EO^V5QaTor`d$2lu8_sI3YN!gea&LrwT!V0|Eu9IZ$$0ZP!k_>Sj0cI;D%! zUf>mY2ws4P*(;~K0w?})(g2n4%H#2@?fJj4U-Wuif%a|mWB67H@slT4O~QGOUfqY$ zLep0<6k6&4BWa~u7^Pm*ZH$2q2O{dEgr(egY@@$KuQWExZ3H;ec1N4rig{aHR#Op@)uU!`LT z=Jo0J;nbm~3;H06T_v12?b^G9>JSP#5Qq>Wdn7I-LD&rC(eN+jq4+2Y*cplz$^M*0 zM6$UxG`4(|on=*47O$->ZPR`~@JOXONPOxllnTtjgzF%D62JzzJv3s4H%{f zX@eAP(w4LwO1S{sIO&Sz0F$~qlV6}6H2X`MhtRIPcICCJOXaoSTe7|T&wsFS1tRJL zt2c1vME{-FJ uUSW2D$ln&(+lcogK2%%D6sz6C1J4GZTPrzO(!N?2n z2E2q<-l7xN@O$=szWeU(lPw=rt7S$O`)}eM82gwfKjuPq*9>+QsP09iy%_0p6RbC5ITIYSOPcbanxvN8nDge@GjslSTOgikF| zkTon&z9^TTU36Z6;^nC$idc{>r&^FMS!G2cu$KfD} zqLJR2!B)n%Nw}H0?fvscr*V 3.6: self.addRule(""" - expr ::= call_ex_kw3 expr ::= call_ex_kw + expr ::= call_ex_kw3 + expr ::= call_ex_kw4 call_ex_kw3 ::= expr build_tuple_unpack_with_call expr CALL_FUNCTION_EX + call_ex_kw4 ::= expr + expr + expr + CALL_FUNCTION_EX call_ex_kw ::= expr expr build_map_unpack_with_call CALL_FUNCTION_EX """, nop_func) diff --git a/uncompyle6/semantics/customize3.py b/uncompyle6/semantics/customize3.py index afd1ab99..6cd41e65 100644 --- a/uncompyle6/semantics/customize3.py +++ b/uncompyle6/semantics/customize3.py @@ -350,7 +350,7 @@ def customize_for_version3(self, version): self.n_call = n_call def n_function_def(node): - if self.version == 3.6: + if self.version >= 3.6: code_node = node[0][0] else: code_node = node[0][1] @@ -634,7 +634,8 @@ def customize_for_version3(self, version): if kwargs == 'expr': kwargs = kwargs[0] call_function_ex = node[-1] - assert call_function_ex == 'CALL_FUNCTION_EX_KW' + assert (call_function_ex == 'CALL_FUNCTION_EX_KW' + or (self.version >= 3.6 and call_function_ex == 'CALL_FUNCTION_EX')) # FIXME: decide if the below test be on kwargs == 'dict' if (call_function_ex.attr & 1 and (not isinstance(kwargs, Token) and kwargs != 'attribute')