�`^c@s[dZddlmZddlmZmZmZmZmZdej fd��YZ
dS(s�Fixer for callable().
This converts callable(obj) into isinstance(obj, collections.Callable), adding a
collections import if needed.i�(t
fixer_base(tCalltNametStringtAttrttouch_importtFixCallablecBs#eZeZdZdZd�ZRS(tpres
power< 'callable'
trailer< lpar='('
( not(arglist | argument<any '=' any>) func=any
| func=arglist<(not argument<any '=' any>) any ','> )
rpar=')' >
after=any*
>
cCss|d}tddd|�|j�td�g}|jttd�td���ttd�|d|j�S(Ntfuncucollectionstnodeu, uCallableu
isinstancetprefix( RtNonetcloneRtextendRRRR
(tselfR tresultsRtargs((s0/sys/lib/python2.7/lib2to3/fixes/fix_callable.pyt transforms
"(t__name__t
__module__tTruet
BM_compatibletordertPATTERNR(((s0/sys/lib/python2.7/lib2to3/fixes/fix_callable.pyR
sN(t__doc__tlib2to3Rtlib2to3.fixer_utilRRRRRtBaseFixR(((s0/sys/lib/python2.7/lib2to3/fixes/fix_callable.pyt<module>s(
|