B
    Ç S]E  ã               @   s2   d Z ddlmZ ddlmZ G dd„ dejƒZdS )zqFixer for reduce().

Makes sure reduce() is imported from the functools module if reduce is
used in that module.
é    )Ú
fixer_base)Útouch_importc               @   s    e Zd ZdZdZdZdd„ ZdS )Ú	FixReduceTZpreai  
    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)
            ) >
        ')' >
    >
    c             C   s   t dd|ƒ d S )NÚ	functoolsÚreduce)r   )ÚselfZnodeZresults© r   ú)lib/python3.7/lib2to3/fixes/fix_reduce.pyÚ	transform"   s    zFixReduce.transformN)Ú__name__Ú
__module__Ú__qualname__ZBM_compatibleÚorderZPATTERNr
   r   r   r   r	   r      s   r   N)Ú__doc__Zlib2to3r   Zlib2to3.fixer_utilr   ZBaseFixr   r   r   r   r	   Ú<module>   s   