diff options
Diffstat (limited to 'Lib/lib2to3/fixes/fix_reduce.py')
-rw-r--r-- | Lib/lib2to3/fixes/fix_reduce.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Lib/lib2to3/fixes/fix_reduce.py b/Lib/lib2to3/fixes/fix_reduce.py new file mode 100644 index 0000000..89fa2b4 --- /dev/null +++ b/Lib/lib2to3/fixes/fix_reduce.py @@ -0,0 +1,33 @@ +# Copyright 2008 Armin Ronacher. +# Licensed to PSF under a Contributor Agreement. + +"""Fixer for reduce(). + +Makes sure reduce() is imported from the functools module if reduce is +used in that module. +""" + +from .. import pytree +from .. import fixer_base +from ..fixer_util import Name, Attr, touch_import + + + +class FixReduce(fixer_base.BaseFix): + + PATTERN = """ + power< 'reduce' + trailer< '(' + arglist< ( + (not(argument<any '=' any>) any ',' + not(argument<any '=' any>) any) | + (not(argument<any '=' any>) any ',' + not(argument<any '=' any>) any ',' + not(argument<any '=' any>) any) + ) > + ')' > + > + """ + + def transform(self, node, results): + touch_import('functools', 'reduce', node) |