U
    ËAš`B  ã                   @   s>   d Z ddlmZ ddlmZ ddlmZ G dd„ dejƒZdS )z©Fixer that changes 'a ,b' into 'a, b'.

This also changes '{a :b}' into '{a: b}', but does not touch other
uses of colons.  It does not touch other uses of whitespace.

é   )Úpytree)Útoken)Ú
fixer_basec                   @   s@   e Zd ZdZdZe ejd¡Ze ej	d¡Z	ee	fZ
dd„ ZdS )Ú
FixWsCommaTzH
    any<(not(',') any)+ ',' ((not(',') any)+ ',')* [not(',') any]>
    ú,ú:c                 C   s`   |  ¡ }d}|jD ]H}|| jkrB|j}| ¡ r<d|kr<d|_d}q|rV|j}|sVd|_d}q|S )NFÚ
Ú Tú )ZcloneZchildrenÚSEPSÚprefixÚisspace)ÚselfZnodeZresultsÚnewZcommaZchildr   © r   ú0/usr/lib/python3.8/lib2to3/fixes/fix_ws_comma.pyÚ	transform   s    

zFixWsComma.transformN)Ú__name__Ú
__module__Ú__qualname__ZexplicitZPATTERNr   ZLeafr   ÚCOMMAÚCOLONr   r   r   r   r   r   r      s   r   N)Ú__doc__r	   r   Zpgen2r   r   ZBaseFixr   r   r   r   r   Ú<module>   s   