You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 16:59:52 +08:00
BIN
test/bytecode_3.6/02_tryfinally_return.pyc
Normal file
BIN
test/bytecode_3.6/02_tryfinally_return.pyc
Normal file
Binary file not shown.
6
test/simple_source/bug36/02_tryfinally_return.py
Normal file
6
test/simple_source/bug36/02_tryfinally_return.py
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# Python 3.6 sometimes omits END_FINALLY. See issue #182
|
||||||
|
def foo():
|
||||||
|
try:
|
||||||
|
x = 1
|
||||||
|
finally:
|
||||||
|
return
|
@@ -106,6 +106,10 @@ class Python36Parser(Python35Parser):
|
|||||||
COME_FROM_FINALLY suite_stmts_opt END_FINALLY
|
COME_FROM_FINALLY suite_stmts_opt END_FINALLY
|
||||||
except_suite_finalize ::= SETUP_FINALLY returns
|
except_suite_finalize ::= SETUP_FINALLY returns
|
||||||
COME_FROM_FINALLY suite_stmts_opt END_FINALLY _jump
|
COME_FROM_FINALLY suite_stmts_opt END_FINALLY _jump
|
||||||
|
|
||||||
|
stmt ::= tryfinally_return_stmt
|
||||||
|
tryfinally_return_stmt ::= SETUP_FINALLY suite_stmts_opt POP_BLOCK LOAD_CONST
|
||||||
|
COME_FROM_FINALLY
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def customize_grammar_rules(self, tokens, customize):
|
def customize_grammar_rules(self, tokens, customize):
|
||||||
|
@@ -507,6 +507,9 @@ def customize_for_version3(self, version):
|
|||||||
'try_except36': ( '%|try:\n%+%c%-%c\n\n', 1, 2 ),
|
'try_except36': ( '%|try:\n%+%c%-%c\n\n', 1, 2 ),
|
||||||
'except_return': ( '%|except:\n%+%c%-', 3 ),
|
'except_return': ( '%|except:\n%+%c%-', 3 ),
|
||||||
'unpack_list': ( '*%c', (0, 'list') ),
|
'unpack_list': ( '*%c', (0, 'list') ),
|
||||||
|
'tryfinally_return_stmt':
|
||||||
|
( '%|try:\n%+%c%-%|finally:\n%+%|return%-\n\n', 1 ),
|
||||||
|
|
||||||
'call_ex' : (
|
'call_ex' : (
|
||||||
'%c(%p)',
|
'%c(%p)',
|
||||||
(0, 'expr'), (1, 100)),
|
(0, 'expr'), (1, 100)),
|
||||||
|
Reference in New Issue
Block a user