| | |
| | |
| |
|
| | """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('functools', 'reduce', node) |
| |
|