o
     JAf	                     @   sP   	 d dl mZ d dlmZ d dlmZ d dlmZm	Z	m
Z
 G dd dejZdS )   )
fixer_base)Node)python_symbols)NameArgListin_special_contextc                   @   s    e Zd ZdZdZdZdd ZdS )FixZipTzN
    power< 'zip' args=trailer< '(' [any] ')' > [trailers=trailer*]
    >
    zfuture_builtins.zipc                 C   s   |  |rd S t|rd S |d  }d|_g }d|v r-dd |d D }|D ]}d|_q'ttjtd|gdd}ttjtdt|gg| }|j|_|S )	Nargs trailersc                 S   s   g | ]}|  qS  )clone).0nr   r   ,/usr/lib/python3.10/lib2to3/fixes/fix_zip.py
<listcomp>'   s    z$FixZip.transform.<locals>.<listcomp>zip)prefixlist)	Zshould_skipr   r   r   r   symsZpowerr   r   )selfZnoderesultsr	   r   r   newr   r   r   	transform   s   
zFixZip.transformN)__name__
__module____qualname__ZBM_compatibleZPATTERNZskip_onr   r   r   r   r   r      s
    r   N)r
   r   Zpytreer   Zpygramr   r   Z
fixer_utilr   r   r   ZConditionalFixr   r   r   r   r   <module>   s    
