B
    ?™c  ã               @   s2   d Z ddlmZ ddlmZ G dd„ dejƒZdS )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 Zd ZdZdZdeƒ  ZdZdd„ ZdS )Ú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|krV|j dkrV|d |d  }}|j}| ¡  | ¡  |j |¡ |p^|j}| t|j dd … |d¡ d S )NÚfuncé    Úit)ZifilterfalseZizip_longestÚdoté   )Úprefix)Úvaluer   ÚremoveÚparentÚreplacer   )ÚselfZnodeZresultsr   r   r	   r   © r   ú,lib/python3.7/lib2to3/fixes/fix_itertools.pyÚ	transform   s    

zFixItertools.transformN)	Ú__name__Ú
__module__Ú__qualname__ZBM_compatibleZit_funcsÚlocalsZPATTERNZ	run_orderr   r   r   r   r   r      s
   
r   N)Ú__doc__Ú r   Z
fixer_utilr   ZBaseFixr   r   r   r   r   Ú<module>   s   