You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 08:49:51 +08:00
Forgot to add testtrue check
This commit is contained in:
13
uncompyle6/parsers/reducecheck/testtrue.py
Normal file
13
uncompyle6/parsers/reducecheck/testtrue.py
Normal file
@@ -0,0 +1,13 @@
|
||||
# Copyright (c) 2020 Rocky Bernstein
|
||||
|
||||
def testtrue(self, lhs, n, rule, ast, tokens, first, last):
|
||||
# FIXME: make this work for all versions
|
||||
if self.version < 3.7:
|
||||
return False
|
||||
if rule == ("testtrue", ("expr", "jmp_true")):
|
||||
pjit = tokens[min(last-1, n-2)]
|
||||
# If we have a backwards (looping) jump then this is
|
||||
# really a testfalse
|
||||
return (pjit == "POP_JUMP_IF_TRUE" and
|
||||
tokens[first].off2int() > pjit.attr)
|
||||
return False
|
Reference in New Issue
Block a user