You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 00:45:53 +08:00
Add test case
This commit is contained in:
BIN
test/bytecode_3.7_run/10_extendedargifelse.pyc
Normal file
BIN
test/bytecode_3.7_run/10_extendedargifelse.pyc
Normal file
Binary file not shown.
264
test/simple_source/bug37/10_extendedargifelse.py
Normal file
264
test/simple_source/bug37/10_extendedargifelse.py
Normal file
@@ -0,0 +1,264 @@
|
|||||||
|
aa = 0
|
||||||
|
ab = 0
|
||||||
|
ac = 0
|
||||||
|
ad = 0
|
||||||
|
ae = 0
|
||||||
|
af = 0
|
||||||
|
ag = 0
|
||||||
|
ah = 0
|
||||||
|
ai = 0
|
||||||
|
aj = 0
|
||||||
|
ak = 0
|
||||||
|
al = 0
|
||||||
|
am = 0
|
||||||
|
an = 0
|
||||||
|
ao = 0
|
||||||
|
ap = 0
|
||||||
|
aq = 0
|
||||||
|
ar = 0
|
||||||
|
at = 0
|
||||||
|
au = 0
|
||||||
|
av = 0
|
||||||
|
aw = 0
|
||||||
|
ax = 0
|
||||||
|
ay = 0
|
||||||
|
az = 0
|
||||||
|
ba = 0
|
||||||
|
bb = 0
|
||||||
|
bc = 0
|
||||||
|
bd = 0
|
||||||
|
be = 0
|
||||||
|
bf = 0
|
||||||
|
bg = 0
|
||||||
|
bh = 0
|
||||||
|
bi = 0
|
||||||
|
bj = 0
|
||||||
|
bk = 0
|
||||||
|
bl = 0
|
||||||
|
bm = 0
|
||||||
|
bn = 0
|
||||||
|
bo = 0
|
||||||
|
bp = 0
|
||||||
|
bq = 0
|
||||||
|
br = 0
|
||||||
|
bs = 0
|
||||||
|
bt = 0
|
||||||
|
bu = 0
|
||||||
|
bv = 0
|
||||||
|
bw = 0
|
||||||
|
bx = 0
|
||||||
|
by = 0
|
||||||
|
bz = 0
|
||||||
|
ca = 0
|
||||||
|
cb = 0
|
||||||
|
cc = 0
|
||||||
|
cd = 0
|
||||||
|
ce = 0
|
||||||
|
cf = 0
|
||||||
|
cg = 0
|
||||||
|
ch = 0
|
||||||
|
ci = 0
|
||||||
|
cj = 0
|
||||||
|
ck = 0
|
||||||
|
cl = 0
|
||||||
|
cm = 0
|
||||||
|
cn = 0
|
||||||
|
co = 0
|
||||||
|
cp = 0
|
||||||
|
cq = 0
|
||||||
|
cr = 0
|
||||||
|
cs = 0
|
||||||
|
ct = 0
|
||||||
|
cu = 0
|
||||||
|
cv = 0
|
||||||
|
cw = 0
|
||||||
|
cx = 0
|
||||||
|
cy = 0
|
||||||
|
cz = 0
|
||||||
|
da = 0
|
||||||
|
db = 0
|
||||||
|
dc = 0
|
||||||
|
dd = 0
|
||||||
|
de = 0
|
||||||
|
df = 0
|
||||||
|
dg = 0
|
||||||
|
dh = 0
|
||||||
|
di = 0
|
||||||
|
dj = 0
|
||||||
|
dk = 0
|
||||||
|
dl = 0
|
||||||
|
dm = 0
|
||||||
|
dn = 0
|
||||||
|
do = 0
|
||||||
|
dp = 0
|
||||||
|
dq = 0
|
||||||
|
dr = 0
|
||||||
|
ds = 0
|
||||||
|
dt = 0
|
||||||
|
du = 0
|
||||||
|
dv = 0
|
||||||
|
dw = 0
|
||||||
|
dx = 0
|
||||||
|
dy = 0
|
||||||
|
dz = 0
|
||||||
|
ea = 0
|
||||||
|
eb = 0
|
||||||
|
ec = 0
|
||||||
|
ed = 0
|
||||||
|
ee = 0
|
||||||
|
ef = 0
|
||||||
|
eg = 0
|
||||||
|
eh = 0
|
||||||
|
ei = 0
|
||||||
|
ej = 0
|
||||||
|
ek = 0
|
||||||
|
el = 0
|
||||||
|
em = 0
|
||||||
|
en = 0
|
||||||
|
eo = 0
|
||||||
|
ep = 0
|
||||||
|
eq = 0
|
||||||
|
er = 0
|
||||||
|
es = 0
|
||||||
|
et = 0
|
||||||
|
eu = 0
|
||||||
|
ev = 0
|
||||||
|
ew = 0
|
||||||
|
ex = 0
|
||||||
|
ey = 0
|
||||||
|
ez = 0
|
||||||
|
fa = 0
|
||||||
|
fb = 0
|
||||||
|
fc = 0
|
||||||
|
fd = 0
|
||||||
|
fe = 0
|
||||||
|
ff = 0
|
||||||
|
fg = 0
|
||||||
|
fh = 0
|
||||||
|
fi = 0
|
||||||
|
fj = 0
|
||||||
|
fk = 0
|
||||||
|
fl = 0
|
||||||
|
fm = 0
|
||||||
|
fn = 0
|
||||||
|
fo = 0
|
||||||
|
fp = 0
|
||||||
|
fq = 0
|
||||||
|
fr = 0
|
||||||
|
fs = 0
|
||||||
|
ft = 0
|
||||||
|
fu = 0
|
||||||
|
fv = 0
|
||||||
|
fw = 0
|
||||||
|
fx = 0
|
||||||
|
fy = 0
|
||||||
|
fz = 0
|
||||||
|
ga = 0
|
||||||
|
gb = 0
|
||||||
|
gc = 0
|
||||||
|
gd = 0
|
||||||
|
ge = 0
|
||||||
|
gf = 0
|
||||||
|
gg = 0
|
||||||
|
gh = 0
|
||||||
|
gi = 0
|
||||||
|
gj = 0
|
||||||
|
gk = 0
|
||||||
|
gl = 0
|
||||||
|
gm = 0
|
||||||
|
gn = 0
|
||||||
|
go = 0
|
||||||
|
gp = 0
|
||||||
|
gq = 0
|
||||||
|
gr = 0
|
||||||
|
gs = 0
|
||||||
|
gt = 0
|
||||||
|
gu = 0
|
||||||
|
gv = 0
|
||||||
|
gw = 0
|
||||||
|
gx = 0
|
||||||
|
gy = 0
|
||||||
|
gz = 0
|
||||||
|
ha = 0
|
||||||
|
hb = 0
|
||||||
|
hc = 0
|
||||||
|
hd = 0
|
||||||
|
he = 0
|
||||||
|
hf = 0
|
||||||
|
hg = 0
|
||||||
|
hh = 0
|
||||||
|
hi = 0
|
||||||
|
hj = 0
|
||||||
|
hk = 0
|
||||||
|
hl = 0
|
||||||
|
hm = 0
|
||||||
|
hn = 0
|
||||||
|
ho = 0
|
||||||
|
hp = 0
|
||||||
|
hq = 0
|
||||||
|
hr = 0
|
||||||
|
hs = 0
|
||||||
|
ht = 0
|
||||||
|
hu = 0
|
||||||
|
hv = 0
|
||||||
|
hw = 0
|
||||||
|
hx = 0
|
||||||
|
hy = 0
|
||||||
|
hz = 0
|
||||||
|
ia = 0
|
||||||
|
ib = 0
|
||||||
|
ic = 0
|
||||||
|
id = 0
|
||||||
|
ie = 0
|
||||||
|
ig = 0
|
||||||
|
ih = 0
|
||||||
|
ii = 0
|
||||||
|
ij = 0
|
||||||
|
ik = 0
|
||||||
|
il = 0
|
||||||
|
im = 0
|
||||||
|
io = 0
|
||||||
|
ip = 0
|
||||||
|
iq = 0
|
||||||
|
ir = 0
|
||||||
|
it = 0
|
||||||
|
iu = 0
|
||||||
|
iv = 0
|
||||||
|
iw = 0
|
||||||
|
ix = 0
|
||||||
|
iy = 0
|
||||||
|
iz = 0
|
||||||
|
ja = 0
|
||||||
|
jb = 0
|
||||||
|
jc = 0
|
||||||
|
jd = 0
|
||||||
|
je = 0
|
||||||
|
jf = 0
|
||||||
|
jg = 0
|
||||||
|
jh = 0
|
||||||
|
ji = 0
|
||||||
|
jj = 0
|
||||||
|
jk = 0
|
||||||
|
jl = 0
|
||||||
|
jm = 0
|
||||||
|
jn = 0
|
||||||
|
jo = 0
|
||||||
|
jp = 0
|
||||||
|
jq = 0
|
||||||
|
jr = 0
|
||||||
|
js = 0
|
||||||
|
jt = 0
|
||||||
|
ju = 0
|
||||||
|
jv = 0
|
||||||
|
jw = 0
|
||||||
|
jx = 0
|
||||||
|
jy = 0
|
||||||
|
jz = 0
|
||||||
|
ka = 0
|
||||||
|
kb = 0
|
||||||
|
kc = 0
|
||||||
|
var = True
|
||||||
|
if var:
|
||||||
|
aa = 1
|
||||||
|
else:
|
||||||
|
aa = 2
|
@@ -158,15 +158,13 @@ def ifelsestmt(self, lhs, n, rule, tree, tokens, first, last):
|
|||||||
# just the last one.
|
# just the last one.
|
||||||
if len(tree) == 5:
|
if len(tree) == 5:
|
||||||
end_come_froms = tree[-1]
|
end_come_froms = tree[-1]
|
||||||
offset = tokens[first].offset
|
|
||||||
offset = int(tokens[first].offset.split('_')[0]) if isinstance(offset, str) else offset
|
|
||||||
if end_come_froms.kind != "else_suite" and self.version >= (3, 0):
|
if end_come_froms.kind != "else_suite" and self.version >= (3, 0):
|
||||||
if end_come_froms == "opt_come_from_except" and len(end_come_froms) > 0:
|
if end_come_froms == "opt_come_from_except" and len(end_come_froms) > 0:
|
||||||
end_come_froms = end_come_froms[0]
|
end_come_froms = end_come_froms[0]
|
||||||
if not isinstance(end_come_froms, Token):
|
if not isinstance(end_come_froms, Token):
|
||||||
if len(end_come_froms):
|
if len(end_come_froms):
|
||||||
return offset > end_come_froms[-1].attr
|
return tokens[first].off2int() > end_come_froms[-1].attr
|
||||||
elif offset > end_come_froms.attr:
|
elif tokens[first].off2int() > end_come_froms.attr:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
# FIXME: There is weirdness in the grammar we need to work around.
|
# FIXME: There is weirdness in the grammar we need to work around.
|
||||||
@@ -175,7 +173,7 @@ def ifelsestmt(self, lhs, n, rule, tree, tokens, first, last):
|
|||||||
last_token = tree[-1]
|
last_token = tree[-1]
|
||||||
else:
|
else:
|
||||||
last_token = tokens[last]
|
last_token = tokens[last]
|
||||||
if last_token == "COME_FROM" and offset > last_token.attr:
|
if last_token == "COME_FROM" and tokens[first].off2int() > last_token.attr:
|
||||||
if self.version < (3, 0) and self.insts[self.offset2inst_index[last_token.attr]].opname != "SETUP_LOOP":
|
if self.version < (3, 0) and self.insts[self.offset2inst_index[last_token.attr]].opname != "SETUP_LOOP":
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user