o
    bc^                     @   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__)im_funcim_self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   )selfnoderesultsr
   new r   4/usr/lib/python3.10/lib2to3/fixes/fix_methodattrs.py	transform   s   
zFixMethodattrs.transformN)__name__
__module____qualname__BM_compatiblePATTERNr   r   r   r   r   r	      s    r	   N)__doc__ r   
fixer_utilr   r   BaseFixr	   r   r   r   r   <module>   s    