ó
è¾bc           @   sC   d  Z  d d l m Z d d l m Z d e j f d „  ƒ  YZ d S(   sq   Fixer for reduce().

Makes sure reduce() is imported from the functools module if reduce is
used in that module.
iÿÿÿÿ(   t
   fixer_base(   t   touch_importt	   FixReducec           B   s#   e  Z e Z d  Z d Z d „  Z RS(   t   presi  
    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(   Nu	   functoolsu   reduce(   R   (   t   selft   nodet   results(    (    s.   /usr/lib/python2.7/lib2to3/fixes/fix_reduce.pyt	   transform"   s    (   t   __name__t
   __module__t   Truet   BM_compatiblet   ordert   PATTERNR   (    (    (    s.   /usr/lib/python2.7/lib2to3/fixes/fix_reduce.pyR      s   N(   t   __doc__t   lib2to3R    t   lib2to3.fixer_utilR   t   BaseFixR   (    (    (    s.   /usr/lib/python2.7/lib2to3/fixes/fix_reduce.pyt   <module>   s   