File: //lib64/python3.9/lib2to3/fixes/__pycache__/fix_xrange.cpython-39.pyc
a
    �DOg�
  �                   @   sF   d Z ddlmZ ddlmZmZmZ ddlmZ G dd� dej�Z	dS )z/Fixer that changes xrange(...) into range(...).�   )�
fixer_base)�Name�Call�consuming_calls)�patcompc                       sh   e Zd ZdZdZ� fdd�Zdd� Zdd� Zd	d
� Zdd� Z	d
Z
e�e
�Z
dZe�e�Zdd� Z�  ZS )�	FixXrangeTz�
              power<
                 (name='range'|name='xrange') trailer< '(' args=any ')' >
              rest=any* >
              c                    s   t t| ��||� t� | _d S �N)�superr   �
start_tree�set�transformed_xranges��selfZtree�filename��	__class__� �0/usr/lib64/python3.9/lib2to3/fixes/fix_xrange.pyr
      s    zFixXrange.start_treec                 C   s
   d | _ d S r   )r   r
   r   r   r   �finish_tree   s    zFixXrange.finish_treec                 C   sD   |d }|j dkr| �||�S |j dkr4| �||�S tt|���d S )N�name�xrange�range)�value�transform_xrange�transform_range�
ValueError�repr�r   �node�resultsr   r   r   r   �	transform   s    
zFixXrange.transformc                 C   s0   |d }|� td|jd�� | j�t|�� d S )Nr   r   ��prefix)�replacer   r"