You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 16:59:52 +08:00
Only add forward-jumping COME_FROM in 3.6+
Is this a repeat commit?
This commit is contained in:
@@ -33,10 +33,6 @@ class Python36Parser(Python35Parser):
|
|||||||
"""
|
"""
|
||||||
sstmt ::= sstmt RETURN_LAST
|
sstmt ::= sstmt RETURN_LAST
|
||||||
|
|
||||||
cf_for_iter ::= _come_froms FOR_ITER
|
|
||||||
list_for ::= expr cf_for_iter store list_iter jb_or_c
|
|
||||||
genexpr_func ::= LOAD_FAST cf_for_iter store comp_iter JUMP_BACK
|
|
||||||
|
|
||||||
# 3.6 redoes how return_closure works. FIXME: Isolate to LOAD_CLOSURE
|
# 3.6 redoes how return_closure works. FIXME: Isolate to LOAD_CLOSURE
|
||||||
return_closure ::= LOAD_CLOSURE DUP_TOP STORE_NAME RETURN_VALUE RETURN_LAST
|
return_closure ::= LOAD_CLOSURE DUP_TOP STORE_NAME RETURN_VALUE RETURN_LAST
|
||||||
|
|
||||||
|
@@ -816,7 +816,8 @@ class Scanner3(Scanner):
|
|||||||
# Fix up grammar so we don't need to do this.
|
# Fix up grammar so we don't need to do this.
|
||||||
# See cf_for_iter use in parser36.py
|
# See cf_for_iter use in parser36.py
|
||||||
self.fixed_jumps[offset] = match[-1]
|
self.fixed_jumps[offset] = match[-1]
|
||||||
else:
|
elif target > offset:
|
||||||
|
# Right now we only add COME_FROMs in forward (not loop) jumps
|
||||||
self.fixed_jumps[offset] = target
|
self.fixed_jumps[offset] = target
|
||||||
return
|
return
|
||||||
# op == POP_JUMP_IF_TRUE
|
# op == POP_JUMP_IF_TRUE
|
||||||
|
Reference in New Issue
Block a user