Merge branch 'master' into python-3.3-to-3.5

This commit is contained in:
rocky
2024-02-11 23:40:30 -05:00
5 changed files with 27 additions and 33 deletions

View File

@@ -272,18 +272,18 @@ def main_bin(
tot_files = okay_files = failed_files = verify_failed_files = 0 tot_files = okay_files = failed_files = verify_failed_files = 0
def process_func(): def process_func():
try:
(tot_files, okay_files, failed_files, verify_failed_files) = ( (tot_files, okay_files, failed_files, verify_failed_files) = (
0, 0,
0, 0,
0, 0,
0, 0,
) )
try:
while 1: while 1:
f = fqueue.get() f = fqueue.get()
if f is None: if f is None:
break break
(t, o, f, v) = main(src_base, out_base, [f], [], outfile, **options) (t, o, f, v) = main(src_base, out_base, [f], [], outfile)
tot_files += t tot_files += t
okay_files += o okay_files += o
failed_files += f failed_files += f

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2015-2023 Rocky Bernstein # Copyright (c) 2015-2024 Rocky Bernstein
# Copyright (c) 2005 by Dan Pascu <dan@windowmaker.org> # Copyright (c) 2005 by Dan Pascu <dan@windowmaker.org>
# Copyright (c) 2000-2002 by hartmut Goebel <h.goebel@crazy-compilers.com> # Copyright (c) 2000-2002 by hartmut Goebel <h.goebel@crazy-compilers.com>
# Copyright (c) 1999 John Aycock # Copyright (c) 1999 John Aycock

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2015-2019, 2021-2023 by Rocky Bernstein # Copyright (c) 2015-2019, 2021-2024 by Rocky Bernstein
# Copyright (c) 2005 by Dan Pascu <dan@windowmaker.org> # Copyright (c) 2005 by Dan Pascu <dan@windowmaker.org>
# Copyright (c) 2000-2002 by hartmut Goebel <h.goebel@crazy-compilers.com> # Copyright (c) 2000-2002 by hartmut Goebel <h.goebel@crazy-compilers.com>
# #
@@ -479,7 +479,6 @@ class Scanner3(Scanner):
last_op_was_break = False last_op_was_break = False
new_tokens = [] new_tokens = []
operand_value = 0
for i, inst in enumerate(self.insts): for i, inst in enumerate(self.insts):
opname = inst.opname opname = inst.opname
@@ -531,11 +530,9 @@ class Scanner3(Scanner):
op = inst.opcode op = inst.opcode
if opname == "EXTENDED_ARG": if opname == "EXTENDED_ARG":
if i + 1 < n: # EXTEND_ARG adjustments to the operand value should have
operand_value = argval << 16 # already been accounted for in xdis instruction creation.
continue continue
else:
operand_value = 0
if inst.offset in jump_targets: if inst.offset in jump_targets:
jump_idx = 0 jump_idx = 0
@@ -642,7 +639,7 @@ class Scanner3(Scanner):
attr = attr[:4] # remove last value: attr[5] == False attr = attr[:4] # remove last value: attr[5] == False
else: else:
pos_args, name_pair_args, annotate_args = parse_fn_counts_30_35( pos_args, name_pair_args, annotate_args = parse_fn_counts_30_35(
inst.argval + operand_value inst.argval
) )
pattr = "%s positional, %s keyword only, %s annotated" % ( pattr = "%s positional, %s keyword only, %s annotated" % (

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2015-2020, 2022-2023 by Rocky Bernstein # Copyright (c) 2015-2020, 2022-2024 by Rocky Bernstein
# Copyright (c) 2005 by Dan Pascu <dan@windowmaker.org> # Copyright (c) 2005 by Dan Pascu <dan@windowmaker.org>
# Copyright (c) 2000-2002 by hartmut Goebel <h.goebel@crazy-compilers.com> # Copyright (c) 2000-2002 by hartmut Goebel <h.goebel@crazy-compilers.com>
# #
@@ -15,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
""" """
Python 37 bytecode scanner/deparser base. Python 3.7 bytecode scanner/deparser base.
Also we *modify* the instruction sequence to assist deparsing code. Also we *modify* the instruction sequence to assist deparsing code.
For example: For example:

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2015-2021 by Rocky Bernstein # Copyright (c) 2015-2021, 2024 by Rocky Bernstein
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@@ -16,18 +16,18 @@
All the crazy things we have to do to handle Python functions in 3.0-3.5 or so. All the crazy things we have to do to handle Python functions in 3.0-3.5 or so.
The saga of changes before and after is in other files. The saga of changes before and after is in other files.
""" """
from xdis import iscode, code_has_star_arg, code_has_star_star_arg, CO_GENERATOR from xdis import CO_GENERATOR, code_has_star_arg, code_has_star_star_arg, iscode
from uncompyle6.scanner import Code
from uncompyle6.parsers.treenode import SyntaxTree
from uncompyle6.semantics.parser_error import ParserError
from uncompyle6.parser import ParserError as ParserError2 from uncompyle6.parser import ParserError as ParserError2
from uncompyle6.parsers.treenode import SyntaxTree
from uncompyle6.scanner import Code
from uncompyle6.semantics.helper import ( from uncompyle6.semantics.helper import (
print_docstring,
find_all_globals, find_all_globals,
find_globals_and_nonlocals, find_globals_and_nonlocals,
find_none, find_none,
print_docstring,
) )
from uncompyle6.semantics.parser_error import ParserError
from uncompyle6.show import maybe_show_tree_param_default from uncompyle6.show import maybe_show_tree_param_default
# FIXME: DRY the below code... # FIXME: DRY the below code...
@@ -419,7 +419,6 @@ def make_function3(self, node, is_lambda, nested=1, code_node=None):
pass pass
if len(node) > 2 and (have_kwargs or node[lc_index].kind != "load_closure"): if len(node) > 2 and (have_kwargs or node[lc_index].kind != "load_closure"):
# Find the index in "node" where the first default # Find the index in "node" where the first default
# parameter value is located. Note this is in contrast to # parameter value is located. Note this is in contrast to
# key-word arguments, pairs of (name, value), which appear after "*". # key-word arguments, pairs of (name, value), which appear after "*".
@@ -492,8 +491,6 @@ def make_function3(self, node, is_lambda, nested=1, code_node=None):
self.ERROR = p self.ERROR = p
return return
kw_pairs = 0
i = len(paramnames) - len(defparams) i = len(paramnames) - len(defparams)
# build parameters # build parameters