diff options
Diffstat (limited to 'lib/python2.7/lib2to3/fixes/fix_reduce.py')
-rw-r--r-- | lib/python2.7/lib2to3/fixes/fix_reduce.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/python2.7/lib2to3/fixes/fix_reduce.py b/lib/python2.7/lib2to3/fixes/fix_reduce.py new file mode 100644 index 0000000..6bd785c --- /dev/null +++ b/lib/python2.7/lib2to3/fixes/fix_reduce.py @@ -0,0 +1,35 @@ +# 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 lib2to3 import fixer_base +from lib2to3.fixer_util import touch_import + + + +class FixReduce(fixer_base.BaseFix): + + BM_compatible = True + order = "pre" + + 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(u'functools', u'reduce', node) |