o
    Š�bc­  ã                   @   sV   d Z ddlmZ ddlmZmZ dddiiZi Zdd„ Zd	d
„ Z	G dd„ dej
ƒZdS )z?Fix incompatible renames

Fixes:
  * sys.maxint -> sys.maxsize
é   )Ú
fixer_base)ÚNameÚ
attr_chainÚsysÚmaxintÚmaxsizec                 C   s   dd  tt| ƒ¡ d S )Nú(ú|ú))ÚjoinÚmapÚrepr)Úmembers© r   ú0/usr/lib/python3.10/lib2to3/fixes/fix_renames.pyÚ
alternates   s   r   c                  c   s\   � t t ¡ ƒD ]$\} }t | ¡ ƒD ]\}}|t| |f< d| ||f V  d| |f V  qqd S )Nz£
                  import_from< 'from' module_name=%r 'import'
                      ( attr_name=%r | import_as_name< attr_name=%r 'as' any >) >
                  z^
                  power< module_name=%r trailer< '.' attr_name=%r > any* >
                  )ÚlistÚMAPPINGÚitemsÚLOOKUP)ÚmoduleÚreplaceÚold_attrÚnew_attrr   r   r   Úbuild_pattern   s   €ýþôÿr   c                       s8   e Zd ZdZd eƒ ¡ZdZ‡ fdd„Zdd„ Z	‡  Z
S )Ú
FixRenamesTr	   Úprec                    s@   t t| ƒj‰ ˆ |ƒ}|rt‡ fdd„t|dƒD ƒƒrdS |S dS )Nc                 3   s   � | ]}ˆ |ƒV  qd S )Nr   )Ú.0Úobj©Úmatchr   r   Ú	<genexpr>5   s   € z#FixRenames.match.<locals>.<genexpr>ÚparentF)Úsuperr   r    Úanyr   )ÚselfÚnodeÚresults©Ú	__class__r   r   r    1   s   zFixRenames.matchc                 C   sL   |  d¡}|  d¡}|r"|r$t|j|jf }| t||jd�¡ d S d S d S )NÚmodule_nameÚ	attr_name)Úprefix)Úgetr   Úvaluer   r   r,   )r%   r&   r'   Úmod_namer+   r   r   r   r   Ú	transform>   s   

þzFixRenames.transform)Ú__name__Ú
__module__Ú__qualname__ÚBM_compatibler   r   ÚPATTERNÚorderr    r0   Ú__classcell__r   r   r(   r   r   *   s    r   N)Ú__doc__Ú r   Ú
fixer_utilr   r   r   r   r   r   ÚBaseFixr   r   r   r   r   Ú<module>   s    	