diff options
author | Victor Stinner <vstinner@python.org> | 2023-05-23 17:40:02 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-23 17:40:02 (GMT) |
commit | ae00b810d1d3ad7f1f7e226b02ece37c986330e7 (patch) | |
tree | 173ec10e86e887adad8740e7833c92a464779917 /Lib/lib2to3/fixes/fix_itertools.py | |
parent | ddb14859535ab8091381b9d0baf32dbe245b5e65 (diff) | |
download | cpython-ae00b810d1d3ad7f1f7e226b02ece37c986330e7.zip cpython-ae00b810d1d3ad7f1f7e226b02ece37c986330e7.tar.gz cpython-ae00b810d1d3ad7f1f7e226b02ece37c986330e7.tar.bz2 |
gh-104780: Remove 2to3 program and lib2to3 module (#104781)
* Remove the Tools/scripts/2to3 script.
* Remove the Lib/test/test_lib2to3/ directory.
* Doc/tools/extensions/pyspecific.py: remove the "2to3fixer" object
type.
* Makefile and PC/layout/main.py no longer compile lib2to3 grammar
files.
* Update Makefile for 2to3 removal.
Diffstat (limited to 'Lib/lib2to3/fixes/fix_itertools.py')
-rw-r--r-- | Lib/lib2to3/fixes/fix_itertools.py | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/Lib/lib2to3/fixes/fix_itertools.py b/Lib/lib2to3/fixes/fix_itertools.py deleted file mode 100644 index 8e78d6c..0000000 --- a/Lib/lib2to3/fixes/fix_itertools.py +++ /dev/null @@ -1,43 +0,0 @@ -""" Fixer for itertools.(imap|ifilter|izip) --> (map|filter|zip) and - itertools.ifilterfalse --> itertools.filterfalse (bugs 2360-2363) - - imports from itertools are fixed in fix_itertools_import.py - - If itertools is imported as something else (ie: import itertools as it; - it.izip(spam, eggs)) method calls will not get fixed. - """ - -# Local imports -from .. import fixer_base -from ..fixer_util import Name - -class FixItertools(fixer_base.BaseFix): - BM_compatible = True - it_funcs = "('imap'|'ifilter'|'izip'|'izip_longest'|'ifilterfalse')" - PATTERN = """ - power< it='itertools' - trailer< - dot='.' func=%(it_funcs)s > trailer< '(' [any] ')' > > - | - power< func=%(it_funcs)s trailer< '(' [any] ')' > > - """ %(locals()) - - # Needs to be run after fix_(map|zip|filter) - run_order = 6 - - def transform(self, node, results): - prefix = None - func = results['func'][0] - if ('it' in results and - func.value not in ('ifilterfalse', 'izip_longest')): - dot, it = (results['dot'], results['it']) - # Remove the 'itertools' - prefix = it.prefix - it.remove() - # Replace the node which contains ('.', 'function') with the - # function (to be consistent with the second part of the pattern) - dot.remove() - func.parent.replace(func) - - prefix = prefix or func.prefix - func.replace(Name(func.value[1:], prefix=prefix)) |