
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,a  ã                   @   sh   d dl mZ d dl mZ d dlmZ d dl mZ d dlmZmZm	Z	m
Z
 e d¡ZG dd„ dejƒZd	S )
é   )Úpatcomp)Úpytree)Útoken)Ú
fixer_base)ÚNameÚCallÚCommaÚStringz"atom< '(' [atom|STRING|NAME] ')' >c                   @   s$   e Zd ZdZdZdd„ Zdd„ ZdS )ÚFixPrintTzP
              simple_stmt< any* bare='print' any* > | print_stmt
              c           
      C   s`  |  d¡}|r,| ttdƒg |jd�¡ d S |jdd … }t|ƒdkrXt |d ¡rXd S d  } }}|r†|d t	ƒ kr†|d d… }d}|r¸|d t
 tjd¡kr¸|d  ¡ }|d	d … }d
d„ |D ƒ}|rÔd|d _|d k	sî|d k	sî|d k	�rF|d k	�r|  |dtt|ƒƒ¡ |d k	�r.|  |dtt|ƒƒ¡ |d k	�rF|  |d|¡ ttdƒ|ƒ}	|j|	_|	S )NZbareÚprint)Úprefixé   é    éÿÿÿÿú z>>é   c                 S   s   g | ]}|  ¡ ‘qS © )Úclone)Ú.0Úargr   r   ú</opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_print.pyÚ
<listcomp>?   s     z&FixPrint.transform.<locals>.<listcomp>Ú ÚsepÚendÚfile)ÚgetÚreplacer   r   r   ZchildrenÚlenÚparend_exprÚmatchr   r   ÚLeafr   Ú
RIGHTSHIFTr   Ú	add_kwargr	   Úrepr)
ÚselfZnodeZresultsZ
bare_printÚargsr   r   r   Zl_argsZn_stmtr   r   r   Ú	transform%   s:    
ÿ



zFixPrint.transformc                 C   sN   d|_ t | jjt|ƒt tjd¡|f¡}|r@| 	t
ƒ ¡ d|_ | 	|¡ d S )Nr   ú=r   )r   r   ZNodeZsymsZargumentr   r!   r   ÚEQUALÚappendr   )r%   Zl_nodesZs_kwdZn_exprZ
n_argumentr   r   r   r#   M   s    
þÿzFixPrint.add_kwargN)Ú__name__Ú
__module__Ú__qualname__ZBM_compatibleZPATTERNr'   r#   r   r   r   r   r
      s   (r
   N)r   r   r   Zpgen2r   r   Z
fixer_utilr   r   r   r	   Zcompile_patternr   ZBaseFixr
   r   r   r   r   Ú<module>   s   ÿ