ó
è¾bc           @   sC   d  Z  d d l m Z d d l m Z d e j f d „  ƒ  YZ d S(   s3   Fix function attribute names (f.func_x -> f.__x__).i   (   t
   fixer_base(   t   Namet   FixFuncattrsc           B   s   e  Z e Z d  Z d „  Z RS(   sß   
    power< any+ trailer< '.' attr=('func_closure' | 'func_doc' | 'func_globals'
                                  | 'func_name' | 'func_defaults' | 'func_code'
                                  | 'func_dict') > any* >
    c         C   s9   | d d } | j  t d | j d d | j ƒƒ d  S(   Nt   attri    u   __%s__i   t   prefix(   t   replaceR   t   valueR   (   t   selft   nodet   resultsR   (    (    s1   /usr/lib/python2.7/lib2to3/fixes/fix_funcattrs.pyt	   transform   s    (   t   __name__t
   __module__t   Truet   BM_compatiblet   PATTERNR
   (    (    (    s1   /usr/lib/python2.7/lib2to3/fixes/fix_funcattrs.pyR   	   s   N(   t   __doc__t    R    t
   fixer_utilR   t   BaseFixR   (    (    (    s1   /usr/lib/python2.7/lib2to3/fixes/fix_funcattrs.pyt   <module>   s   