ó
8Þ	Pc           @   s[   d  Z  d d l m Z d d l m Z m Z m Z m Z m Z d e j	 f d „  ƒ  YZ
 d S(   s…   Fixer for callable().

This converts callable(obj) into isinstance(obj, collections.Callable), adding a
collections import if needed.iÿÿÿÿ(   t
   fixer_base(   t   Callt   Namet   Stringt   Attrt   touch_importt   FixCallablec           B   s#   e  Z e Z d  Z d Z d „  Z RS(   t   pres  
    power< 'callable'
           trailer< lpar='('
                    ( not(arglist | argument<any '=' any>) func=any
                      | func=arglist<(not argument<any '=' any>) any ','> )
                    rpar=')' >
           after=any*
    >
    c         C   ss   | d } t  d  d d | ƒ| j ƒ  t d ƒ g } | j t t d ƒ t d ƒ ƒ ƒ t t d ƒ | d | j ƒS(   Nt   funcu   collectionst   nodeu   , u   Callableu
   isinstancet   prefix(	   R   t   Nonet   cloneR   t   extendR   R   R   R
   (   t   selfR	   t   resultsR   t   args(    (    s0   /usr/lib/python2.7/lib2to3/fixes/fix_callable.pyt	   transform   s
    
"(   t   __name__t
   __module__t   Truet   BM_compatiblet   ordert   PATTERNR   (    (    (    s0   /usr/lib/python2.7/lib2to3/fixes/fix_callable.pyR      s   N(   t   __doc__t   lib2to3R    t   lib2to3.fixer_utilR   R   R   R   R   t   BaseFixR   (    (    (    s0   /usr/lib/python2.7/lib2to3/fixes/fix_callable.pyt   <module>   s   (