From c3d7ba6dad832afae99c03ff3c436ef1efdc8d16 Mon Sep 17 00:00:00 2001 From: rocky Date: Sat, 11 Jan 2020 07:06:46 -0500 Subject: [PATCH] 3.7 "imports" and "or" --- test/bytecode_3.5_run/04_importlist.pyc | Bin 397 -> 470 bytes test/bytecode_3.6_run/01_conditional.pyc | Bin 337 -> 565 bytes test/bytecode_3.6_run/04_importlist.pyc | Bin 354 -> 413 bytes test/bytecode_3.7_run/01_conditional.pyc | Bin 0 -> 565 bytes test/bytecode_3.7_run/04_importlist.pyc | Bin 364 -> 421 bytes test/bytecode_3.8_run/01_conditional.pyc | Bin 0 -> 577 bytes test/bytecode_3.8_run/04_importlist.pyc | Bin 368 -> 425 bytes test/simple_source/bug35/04_importlist.py | 7 ++++-- test/simple_source/bug36/01_conditional.py | 11 +++++++++ test/stdlib/runtests.sh | 1 - uncompyle6/parsers/parse37.py | 1 + uncompyle6/parsers/reducecheck/or_check.py | 18 +++++++------- uncompyle6/semantics/transform.py | 26 +++++++++++++++++++++ 13 files changed, 52 insertions(+), 12 deletions(-) create mode 100644 test/bytecode_3.7_run/01_conditional.pyc create mode 100644 test/bytecode_3.8_run/01_conditional.pyc diff --git a/test/bytecode_3.5_run/04_importlist.pyc b/test/bytecode_3.5_run/04_importlist.pyc index 6d739fe7e562923f83f37298f7999b01f39bcae3..96a13e107089873f952e350664aae3439023d0ab 100644 GIT binary patch literal 470 zcmY*VyH3ME5S%+ZvGY#BLx`3pO@ah;2th$hLuVl($2q{^oHMshk%ER)`~kl}O+l9r zxt5AwpkfU~3b%Ko-PxVd>b6_0x?JvDF9q;{wc~Mq%8%X|#(V`dFcFC4Pbr~2WIiGv zqHKH66=YRJRb&C8;Fo1lh^Pi7F{xwhVYJ*hxdS{0!@tRVOi8tE5QHl=|@~ag8;?g`=3%k8%5qNZE4i+*)H@ zJ*9L?MLbOudl%MuEPjRUmd+)7?NOTLS`Ep}Y@!CE+3ms6VE=H)tg(eosp#i(7anJ3 aJk#nVU=3|BbVOHdiKg6@o1)3l;rIp`u5kze delta 286 zcmYjMyKcfz3_ZR#34!Jc2HMVySvq&@L^l>BhC3hyh*U*Mh+>wqRB9!p4orLnJKw^P zm5IN=0V3g-&hfD&`>412=hc|bVdziS1f1|-O7MpyZ>20G2q};dth!Q#R3j5gpjy^Q z9b_)7i_C-dZe3Yw!TN|5k~S6&{s=t5s)JubOvriG5Eq;`*aNQ{>?3&s|KF*cF%I3c z+=Nj`l~Y8kuTWK*nNm2i znTowi7@HWuBAh@GE}%#ZRD=_(1|*UP7lEm10Ewh<2Qz5$OpMu3pUecc5@a3F2@K94 zD@A}r4MQQEa)Hc{!E0K14apa1{> delta 91 zcmdnWa*;{dn3tEUt4J(vCj$e+V<3hDCLqfJh>J}oDx0zdGib6+T(d#KPm`&L4Jdkx g&#|~TwWuUBKhL$OD8Fd(KSpIPkOT({43N76AQe4>n2Z(`SVtAyuY^yFlwK>LBn|r$vZUg(<0|M}^Rp60i zop1jJvdq9GjpX)O8(}vrvV*&F>W8-@cXs91{RHF%hGAvZ% zLQ5$MTj?67d{emoKfxs%j-oXl-6IMU+8&J2#-$ZjHCkR5!h2ieB0u~|%p^Dm__@SN zHBzim?@b|QoBhlDW_ESG_Nq2kR%oZq!6mm!mwPGhVn2iD9#R;<1QL2iN09hPef$Ex CN^iUX delta 242 zcmbQs{D`UEn3tDpiyKE=6(a+~V+JI^1Y|n^ad8rmNMT4}%wfo4jA8<^m~xnN8KW2( zL88n#EV-;vthsDaY+ycP4to?wDpM9`3QIF%u}ukA6Jsi4u?v`HE%pJ^Y{em9nj?$5 z*f|cwOkoUW&}4lHw1~k^lkpZyL1IaUCetnE;?#m$EP08!skaytHF=`g^NaOBQbi!Q yMKR|W7XX!17EgTP&dZ#bl)RFmh!-eP#5>uS(LzK3$mC+=VH9BGVB%xs07C%W5j0x> diff --git a/test/bytecode_3.7_run/01_conditional.pyc b/test/bytecode_3.7_run/01_conditional.pyc new file mode 100644 index 0000000000000000000000000000000000000000..71af35bde8ab961c0a9aa7bbbc172d1e40536f42 GIT binary patch literal 565 zcmYjNO;5r=5Z&1pC|`yc4w`uI;(^47#>A5`sF5QVIT#KgbXQX;Et!RbrX)uE4gLrI zhCicMPyGv?oY{ann|*zqee?RZSJi4sP<^a+`=21h7r$)EA=094UI~;?@Gg2n3niCe z>N9u);?5Fqf6ZOuhs;$@_41P-3U%}s z6LX|V^Jv1r*IUHbIcnrdZ*A+*#Uk-e!?D@YtxIDx@)d3nW3;-G&;kgx{<$CTm@cIF>+iw~G literal 0 HcmV?d00001 diff --git a/test/bytecode_3.7_run/04_importlist.pyc b/test/bytecode_3.7_run/04_importlist.pyc index 9f0bc568d7503ad5737ecceeec897fa84f8c5a63..3d9dd109682808c7ea40c3e9cd4fc508cdc8c342 100644 GIT binary patch delta 288 zcmX|5F;2rk5WL;H*p9K|2vLv*(Ym3gPD6o&kkX(lB98bF33s;Ty@m#)@PddBKtaJL z@&aCPKS1IUoL#Uh?ab`#YWEjEc|Oncl!d_kY`Nd%vzKiU6|2B73lgE{Xt)(p44j*h zjbvnF84nsvBF7rv(@K0mB_5IH?qCZ#(?aL3NY{gk=w`r}ZU-E1Cba3<|0MvXfu7xE z--HD#M?d{rS0(tQHOk#Loh{LG(ybS@vf6_x3mG?b)++blMPDUvs0}ku)L~fOeP5iU rYg*UjRK3!{aGmGsZuP~wBKTeLb_(amM}cOL!4wia#0exJ)1dzVA$Uf& delta 231 zcmW-aI|>3Z5QZ~J_Tida(ZZLF=g5iBeen-s!o7JTgLvSVYT=ncdRXkp=%as$D_ zBbd!h@qIu4z`WR(%0$YD*g37`{Bo1s^U4NIG~}cJMWJ?@Gwa}-<-G8eSNO_z8S+4d z8GSS~e}d*)ipe3mLIyZ;^l;+nqjC&4P1Ln%n3CB0)W63u7+$7_RZLBfVOAQxON-1v v8VeQdv0rx;wU>(Ru`~>ic>4_{OBc&Gse~;mai77U)3Pc+Knp_JhS2RF>#Q{C diff --git a/test/bytecode_3.8_run/01_conditional.pyc b/test/bytecode_3.8_run/01_conditional.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1076f1b479040eb38e771463d2770e131e4c5cb6 GIT binary patch literal 577 zcmYjNy-or_5Z>84;P^AdP-tRdV?km>V`60t#z;vcCWZop+tr*LcVrd{&5;=K8GHv` z!^gPRidV35W&_AkDob3crOK(?TqCP5ta!;|rA>O94fIYx0 zOYjlPE|*6tK6_jTAHlz^=PH3j7%u@VDIl+MCKE|soz{{EkSDF7nv+65g+V7f3ZhU) z|5hAqE&=V#&hH%))?#Dj_7~0bv>=TH++id0_#md_lzzz}TPY zH!%AT*!YAx8Mu?~y?5_UcYnCy@>a@}g~096{dO&n-&aADtb~eLPzXK8id&(?zb58DZoH(ri!>-3=Ji!+_)EgqA(~zXZSx(3`vJ zn{dO5(Qp6ObpbwUEA5_|&KBr7nbwP1TjN0&xr!S)Yqfj!qOXcK)P|W?>M$&?e=bkb q1ubfFx}KY0xXyF^INz`?4}O<_p2GRzL7*9AFogv7aRN!mH0T{g2}a%k delta 231 zcmW-aI|>3Z5QZ~J_TidpIdA3idY9eH#s*C^WF!Ygp>~=v>)@PaJol8B`^tA2vOt9? zeKs_If#!RP!z#K#3OIK3aO&uzatwD()U|1tk=Xmxzb7#mUL@5frl!X*Eet;-d1@eu ug$j 1: + # Simulate: + # Instead of + # import_from37 ::= LOAD_CONST LOAD_CONST IMPORT_NAME_ATTR importlist37 POP_TOP + # import_as37 ::= LOAD_CONST LOAD_CONST importlist37 store POP_TOP + # 'import_as37': ( '%|import %c as %c\n', 2, -2), + assert dotted_names[-1] == alias_name + node = SyntaxTree("import_as37", + [node[0], node[1], import_name_attr, store, node[-1]]) + node.transformed_by="n_import_from37" + pass + pass + return node + + def n_list_for(self, list_for_node): expr = list_for_node[0] if expr == "expr" and expr[0] == "get_iter":