You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 00:45:53 +08:00
Merge branch 'master' into python-2.4
This commit is contained in:
2
NEWS
2
NEWS
@@ -1,4 +1,4 @@
|
||||
uncompyle6 3.2.4 2018-06-04 7x9 release
|
||||
uncompyle6 3.2.4 2018-10-27 7x9 release
|
||||
|
||||
- Bug fixes #180, #182, #187, #192
|
||||
- Enhancements #189
|
||||
|
@@ -5,4 +5,4 @@ if [[ $0 == ${BASH_SOURCE[0]} ]] ; then
|
||||
echo "This script should be *sourced* rather than run directly through bash"
|
||||
exit 1
|
||||
fi
|
||||
export PYVERSIONS='3.5.5 3.6.6 3.7.1 2.6.9 3.3.7 2.7.14 3.2.6 3.1.5 3.4.8'
|
||||
export PYVERSIONS='3.5.5 3.6.6 3.7.1 2.6.9 3.3.7 2.7.15 3.2.6 3.1.5 3.4.8'
|
||||
|
@@ -115,7 +115,11 @@ case $PYVERSION in
|
||||
# See test/simple_source/bug27+/05_not_unconditional.py
|
||||
[test_memoryio.py]=1 # FIX
|
||||
[test_multiprocessing.py]=1 # On uncompyle2, taks 24 secs
|
||||
[test_pep352.py]=1 # ?
|
||||
[test_pep352.py]=1 # ?
|
||||
[test_posix.py]=1 # Bug in try-else detection inside test_initgroups()
|
||||
# Deal with when we have better flow-control detection
|
||||
[test_pwd.py]=1 # Takes too long
|
||||
[test_queue.py]=1 # Control flow?
|
||||
[test_select.py]=1 # Runs okay but takes 11 seconds
|
||||
[test_socket.py]=1 # Runs ok but takes 22 seconds
|
||||
[test_subprocess.py]=1 # Runs ok but takes 22 seconds
|
||||
|
@@ -156,8 +156,10 @@ class Python2Parser(PythonParser):
|
||||
try_except ::= SETUP_EXCEPT suite_stmts_opt POP_BLOCK
|
||||
except_handler COME_FROM
|
||||
|
||||
# Note: except_stmts may have many jumps after END_FINALLY
|
||||
except_handler ::= JUMP_FORWARD COME_FROM except_stmts
|
||||
END_FINALLY COME_FROM
|
||||
END_FINALLY come_froms
|
||||
|
||||
except_handler ::= jmp_abs COME_FROM except_stmts
|
||||
END_FINALLY
|
||||
|
||||
|
@@ -1779,6 +1779,11 @@ class SourceWalker(GenericASTTraversal, object):
|
||||
def n_attribute(self, node):
|
||||
if (node[0] == 'LOAD_CONST' or
|
||||
node[0] == 'expr' and node[0][0] == 'LOAD_CONST'):
|
||||
# FIXME: I didn't record which constants parenthesis is
|
||||
# necessary. However, I suspect that we could further
|
||||
# refine this by looking at operator precedence and
|
||||
# eval'ing the constant value (pattr) and comparing with
|
||||
# the type of the constant.
|
||||
node.kind = 'attribute_w_parens'
|
||||
self.default(node)
|
||||
|
||||
|
Reference in New Issue
Block a user