o
     JAf^                     @   s>   d Z ddlmZ ddlmZ ddddZG dd	 d	ejZd
S )z;Fix bound method attributes (method.im_? -> method.__?__).
   )
fixer_base)Name__func____self__z__self__.__class__)Zim_funcZim_selfZim_classc                   @   s   e Zd ZdZdZdd ZdS )FixMethodattrsTzU
    power< any+ trailer< '.' attr=('im_func' | 'im_self' | 'im_class') > any* >
    c                 C   s.   |d d }t |j }|t||jd d S )Nattr    )prefix)MAPvaluereplacer   r	   )selfZnoderesultsr   new r   4/usr/lib/python3.10/lib2to3/fixes/fix_methodattrs.py	transform   s   
zFixMethodattrs.transformN)__name__
__module____qualname__ZBM_compatibleZPATTERNr   r   r   r   r   r      s    r   N)__doc__ r   Z
fixer_utilr   r
   ZBaseFixr   r   r   r   r   <module>   s    