File: //lib64/python3.9/lib2to3/fixes/__pycache__/fix_itertools.cpython-39.pyc
a
    �DOg  �                   @   s2   d Z ddlmZ ddlmZ G dd� dej�ZdS )aT   Fixer for itertools.(imap|ifilter|izip) --> (map|filter|zip) and
    itertools.ifilterfalse --> itertools.filterfalse (bugs 2360-2363)
    imports from itertools are fixed in fix_itertools_import.py
    If itertools is imported as something else (ie: import itertools as it;
    it.izip(spam, eggs)) method calls will not get fixed.
    �   )�
fixer_base)�Namec                   @   s*   e Zd ZdZdZde�  ZdZdd� ZdS )�FixItertoolsTz7('imap'|'ifilter'|'izip'|'izip_longest'|'ifilterfalse')z�
              power< it='itertools'
                  trailer<
                     dot='.' func=%(it_funcs)s > trailer< '(' [any] ')' > >
              |
              power< func=%(it_funcs)s trailer< '(' [any] ')' > >
              �   c                 C   s�   d }|d d }d|v rV|j dvrV|d |d  }}|j}|��  |��  |j�|� |p^|j}|�t|j dd � |d�� d S )N�func�    �it)�ifilterfalse�izip_longest�dot�   )�prefix)�valuer
   �remove�parent�replacer   )�selfZnode�resultsr
   r   r   r   � r   �3/usr/lib64/python3.9/lib2to3/fixes/fix_itertools.py�	transform   s    �
zFixItertools.transformN)	�__name__�
__module__�__qualname__Z
BM_compatibleZit_funcs�localsZPATTERNZ	run_orderr   r   r   r   r   r      s   �	r   N)�__doc__� r   Z
fixer_utilr   ZBaseFixr   r   r   r   r   �<module>   s